1

jqueryに関して非常に概念的な質問があります。私はこのフィドルを持っています

http://jsfiddle.net/zvCrN/

私がやりたいことは、クリックハンドラーをリンクにバインドすることです。リンクをクリックするとアラートが表示されます。これが発生した後でのみ、クリック イベント ハンドラーを本文にバインドして、本文のどこかをクリックすると別のアラートが表示されるようにします。

些細なことだと思いますが、頭を包むことはできません。リンククリックでもトリガーされないように、ハンドラーをボディにバインドするにはどうすればよいですか?

どんな助けでも感謝します、

4

2 に答える 2

2
$("#infolink").click(function(e) {
    e.stopPropagation();
    alert('link')
});

$('body, :not("#infolink")').click(function() {
    alert('body');
});

デモ

于 2012-06-26T15:53:58.870 に答える
0

次のことを試してください。

var link = $('#infolink');
var handler = function (event) {
  link.off('click', handler);
  event.stopPropagation();
  $('body').on('click', function (event) {
    alert('some other message');
  });
  alert('some message');
};
link.on('click', handler);
于 2012-06-26T15:54:13.380 に答える