jQuery:绑定名称空间事件

mab*_*lin 11 jquery

如果事件是命名空间,是否可以侦听一个基本事件的所有事件?

例:

$elmt.bind("change", function (event) {
    console.log(event);
});
$elmt.trigger("change.namespace1");
$elmt.trigger("change.namespace2");
Run Code Online (Sandbox Code Playgroud)

这只适用于我绑定到完整的事件名称,但这是我不知道的这个位置:(

And*_*the 1

你可以,但它并不完美。

例如:

function eventHandler(event){
    $("#output").html($("#output").html() + "<br />" + event);
}

$elmt = $("#elmt");
$elmt.bind("change.namespace1", eventHandler);
$elmt.bind("change.namespace2", eventHandler);

$elmt.trigger("change.namespace1");
$elmt.trigger("change.namespace2");
Run Code Online (Sandbox Code Playgroud)

JSFiddle 就在这里

您需要从事件中提取命名空间并打开它,因为两个命名空间都是为基本的“更改”事件触发的,这几乎意味着您需要“仅”使用命名空间,或者不需要使用命名空间。

我希望这个能有一点帮助。