事件名稱空間不是層次結構。
隨着您的代碼,$('#someid').trigger('griffin.model');
觸發全部觸發,並且$('#someid').trigger('griffin.updated');
觸發全部。
$('body').bind('griffin.model.updated.user', function() {
alert('Exact namespace = trigger');
});
$('body').bind('griffin.model.updated', function() {
alert('Will not trigger :(');
});
$('#someid').bind('griffin.model.updated', function() {
alert('Same item, but not the same namespace = wont trigger');
});
在這裏,您基本上爲第一個和第三個創建了三個單獨的命名空間,以及兩個單獨的命名空間。
仔細看看this example並閱讀我留給你的評論。嘗試許多不同的事情有時很有用,可以看到你可以做的不同事情。
在問候on()
不工作:
這段代碼是直接取自jQuery的1.7.1.js:
bind: function(types, data, fn) {
return this.on(types, null, data, fn);
}
正如你所看到的,bind()
簡直就是on()
的包裝,並應工作完全相同,但bind()
不支持選擇器或委派。
感謝您的幫助! – 2013-10-02 01:55:01
不客氣:) – Shea 2013-10-02 02:44:47