-1

クリックしたアンカー タグごとに特定のハンドラーをアタッチし、クラス名を持つ 1 つの div の下にグループ化されたすべてのアンカー タグをオフにするにはどうすればよいですか?

クリックしたアンカー タグごとに特定のハンドラーをアタッチし、クラス名を持つ 1 つの div の下にグループ化されたすべてのアンカー タグをオフにするにはどうすればよいですか?

<div id="x">
    <a id="a">link one</a>
    <a id="b">link two</a>
    <a id="c">link three</a>
</div>

jquery:

$('#a').on('click touchstart', handlerfuncA );
$('#b').on('click touchstart', handlerfuncB );
$('#c').on('click touchstart', handerfuncC );

$('x').off('click touchstart' );

次に、各アンカーを再度特別に取り付けることなく、すべてを再度取​​り付けます。しかし、各ハンドラーを簡単に再接続するにはどうすればよいですか? ハンドラーを再アタッチする必要がありますが、すべてのハンドラーを再度アタッチすることを指定せずに簡単な方法があるかどうか疑問に思っていました。

4

2 に答える 2

0

あなたがしていることは意味がありません。単一のイベント ハンドラーをアンカーのグループまたは div にアタッチし、アンカーの ID、値などに基づいて何をすべきかを決定することをお勧めします。

もちろん、これらのアンカーのイベントが互いにまったく無関係である場合を除きます...その場合、それらを個別にバインド解除することが理にかなっています(グループとしてではなく、やりたいように)。

于 2012-12-24T23:28:53.220 に答える
0

いくつかのhtmlを追加すると役立つかもしれませんが、彼女は基本的な考え方です:

jQueryonを使用してイベントを添付します。

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

offそれらを削除するために 使用します: http://api.jquery.com/off/

例:

アンカーからイベントを削除

$("body").off("click", "a", oldClickFunction)

編集

$('#x').off( 'click','a', touchstart );

于 2012-12-24T23:30:21.657 に答える