7

これを考えると:

HTML

<button id="btn">Click me</button>
<br/>
<div id="result"></div>

JS

$("#btn").on("click.mynamespace", function (e) {
    $("#result").text("namespace: " + e.namespace);
});

名前空間が常に未定義なのはなぜですか?

編集:

私ができるようにしたいのは、イベントハンドラーの複数のインスタンスをボタンのクリックイベントに接続することです。次に、ボタンがクリックされると、各インスタンスが順番に呼び出されます。次に、イベントハンドラーの各インスタンスはそれ自体を切断する必要があるため、ボタンをもう一度クリックしても、そのハンドラーインスタンスは呼び出されません。

4

1 に答える 1

10

プロパティは、イベントがjQueryまたはメソッドnamespaceを使用してトリガーされた場合にのみ定義されます。そうでなければ、jQueryは、複数ある場合に使用する名前空間をどのように知るのでしょうか?.trigger.triggerHandler

http://jsfiddle.net/GYyef/2/

http://api.jquery.com/event.namespace/

イベントを1回だけ発生させることが目標である場合は、この.one()方法の方が適切です。

于 2013-03-26T19:32:52.930 に答える