2017-01-08 16 views
0

HTMLファイルにチェックボックスがあります。 次に、onClick()イベントハンドラが2つの別々のJavaScriptファイルにあります。 チェックボックスをクリックすると、私のonClickメソッドのうちの1つだけが呼び出されていることに気付きました。イベントハンドラの1つを削除すると、他のイベントハンドラが機能します。クリックイベントを取得し、他のリスナーのイベントを飲み込まないようにするには、ある方法が必要です。複数のチェックボックスonClickイベントハンドラを異なるJavascriptファイルで許可する方法

どのようにしてイベントハンドラの両方を呼び出すことができますか?

 var at = document.getElementById("at"); 
     at.onclick = function() { 
+0

です。これは、最初のコールバックが最後のコールバックに置き換えられているためです。あなたは@chiliNUTの答え、 が表示されているはずです。また、おそらくこのhttp://stackoverflow.com/questions/6348494/addeventlistener-vs-onclick –

答えて

0

onclickに割り当てると、前にあったものが上書きされます。あなたがイベントをスタックしたい場合は、ネイティブJSで使用addEventListenerやjQueryの.on("click"

JS

var at = document.getElementById("at"); 
at.addEventListener("click", function() { //whatever 
             }, false); 
at.addEventListener("click", function() { //some other function 
             }, false); 

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

jQueryの

$('#at').on("click", function() {//whatever 
           }) 
     .on("click", function() {//some other function 
           }); 

http://api.jquery.com/on/

+1

も参照してください。また、いくつかのonclickイベントからイベントの実行を停止したい場合は、 'event.stopPropagation()'を呼び出すことができます[https://api.jquery.com/event.stoppropagation/](https://api.jquery.com) /event.stoppropagation/) – Valijon

関連する問題