2016-04-01 7 views
1
//my function 
function handler(){ 
//do something. 
} 

//disable my onclick 
$(".Dicon").prop('onclick',null).off('click'); 

//using this code to enable , it will auto ran the function 
$(".Dicon").prop('onclick',handler); 

私はこのコードをクリックしてすべてのクラスを無効にしていますが、ある時点で有効にする必要があります。onclickを有効にする方法と機能は自動実行されません

私のコードを使ってクリックを元に戻すと、自動的に関数が実行されますが、とにかくそれらを有効にして関数が実行されませんか?

答えて

0

TRYトリガ():変数に "executableness" を記憶について

$(".Dicon").prop('onclick',handler).trigger('click'); 
0

どのように?

var onClickOn = true; //initial state 

function handler (event) { 
    if (onClickOn) { 
     //do stuff 
    } 
    else { 
     event.preventDefault(); // don't do anything 
     event.stopPrpagation(); // really don't do anything 

     return false; //make sure you don't do anything 
    } 
} 

$(".Dicon").on('click',handler); 

onClickOnの値を変更してハンドラを制御できるようになりました。

他の可能な解決策は、小さなトリック

$('body').on('click', ".Dicon:not(.noClick)", handler); 

で、あなたのリンクにnoClickクラスを追加し、除去することにより、イベントを制御することができます。この方法はイベントを委任することです。

関連する問題