7

オンクリック イベントを無効または有効にするにはどうすればよいですか。

私は試しました:

$('#web').on('click', function web_function(event){
    event.stopPropagation();
    // execute a bunch of action to preform
});
$('#web').off('click'); // click is succesfully removed
$('#web').on('click'); // doesnt work, i need to redefine the actions to perform

また、次の方法で無効にしようとしました:

$('#web').unbind('click'); // click is succesfully removed
$('#web').bind('click'); // nok

しかし、これもうまくいきません...

したがって、実行するアクションを再定義せずにクリックイベントを無効/有効にしたいと思います。ある種のトグル... (オン/オフをクリック)

また、伝播を停止するイベントを実装するにはどうすればよいですか?

これどうやってするの?

4

2 に答える 2

15

bind(または)するたびに、ハンドラー関数を引数として渡す必要がありますrebind

あなたの場合、再バインドするたびに渡すために使用できる関数に名前を付けることができます..以下を参照してください。

var myFunc = function(event){
     event.stopPropagation();
     // execute a bunch of action to preform
}

$('#web').on('click', myFunc); //bind myFunc
$('#web').off('click'); // click is succesfully removed
$('#web').on('click', myFunc); //rebind again
于 2012-11-07T18:57:47.113 に答える