2016-10-06 4 views
0

私は、コードを動的に生成するためにrequireJSを使用し、必要に応じていつでも要素をロードします。 同じUI(html)要素を使用する2つのjavascriptクラスを持っています 今、私は同じボタン。ボタンが全く異なる機能が同じボタンに対して異なる機能を持つ2つの別々のクリックイベント?

HTMLコード

<div class='command-processor'> 
    <div class='left-control' id='left-control'> 
     <img src='images/options.png' class='ctrl-image'/> 
    </div> 
    <div class='controls'> 
     <span class="previous" id="previous"><</span> 
      <input type='text' name='text-control' id='text-control' /> 
      <span class="next" id="next">></span> 
     <input type='button' id='send' value='send' /> 
    </div> 
    <div class='right-control' id='right-control'> 
     <img src='images/options.png' class='ctrl-image'/> 
    </div> 
</div> 

JSコード のclass1 =ビュー

// some stuff 

_data=$("#user-input").val(); 
$(".command-processor").off("click","#send"); 
$(".command-processor").on("click","#send",function() 
{ 
    f.sendData(_data,dest); 
}); 

クラス2 =フィールド

をトリガした 二つのクラス
$(".command-processor").off("click","#send"); 
$(".command-processor").on("click","#send",function() 
{ 
    var data=[]; 
    var item={}; 
    if(this.fieldData) 
    { 
     for(i=0;i<this.fieldData.length;i++) 
     { 
      item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue; 
     } 
     data.push(item); 
     var _data = JSON.stringify(data); 
     f.sendData(_data,dest); 
     this.fieldData=null; 
    } 
}); 

ファーストクラスビューがブラウザにロードされると、送信ボタン用クラスのクリックイベントがうまく機能し、 と、第二級フィールド、送信ボタンの作品のためのクラスクリックイベントブラウザにロードされ、よく第二のクラスで

第一級の作品が終了した後、私は私の時間のクラスから2番目のクラスをロードしていますが...

、そのは、機能の実行が終了し、送信ボタンを完了すると、ボタンのトリガを送る、 私がしたいですファーストクラスをアクティブにする見るをクリックしてくださいイベントのボタン

ありがとうございました!待っている応答

あなたの第二のクラスで

答えて

0

、クリックイベントの実行後、再初期化最初のクラスでイベントを最初のクラスからメソッドを呼び出し、ボタンクリックトリガを送る。.. セカンドクラス:

$(".command-processor").off("click","#send"); 
$(".command-processor").on("click","#send",function() 
{ 
    var data=[]; 
    var item={}; 
    if(this.fieldData) 
    { 
     for(i=0;i<this.fieldData.length;i++) 
     { 
      item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue; 
     } 
     data.push(item); 
     var _data = JSON.stringify(data); 
     f.sendData(_data,dest); 
     this.fieldData=null; 
     ctrl.trigger("ReInitialize",[]); 
    } 
}); 

ファーストクラス

ctrl.on("ReInitialize",function(event,info) 
{ 
     this.initEvents(); 
}); 

これはクラスとプロトタイプ

の間で動作するサンプルコードです
関連する問題