jQuery 事件处理程序方法 - 混合对

jQuery Event Handler method - Mixing pairs

jQuery事件方法成对出现——on()off()live()die()bind()unbind().

我的问题是,我们可以混搭吗?例如,使用 on() 附加一个事件并使用 unbind()?

删除它

文档向我建议最好使用相应的方法,bind()unbind() http://api.jquery.com/unbind/,但它没有明确说明你不能混合使用他们。 在我看来,live()/die() 可与 on()/off() 互换,bind()/unbind() 可与 shorthand 方法互换像 click()/change().

有人能解释一下事件是如何附加、引用和存储的吗? 据我了解,jQuery 事件存储在数组中,可以通过 obj.event("name") 引用。 on()/off()bind()/unbind() 使用不同的数组吗?

您可以使用 .unbind() 取消绑定使用 .on() 注册的事件,反之亦然。在这里查看:http://codepen.io/anon/pen/KVyZOL

但是使用 .on() 和 .off() 是绑定和解除绑定事件的首选方式:

Event handlers attached with .bind() can be removed with .unbind(). (As of jQuery 1.7, the .on() and .off() methods are preferred to attach and remove event handlers on elements.)

--

how events are attached, refference and stored?

jQuery 根据浏览器支持使用 addEventListener() 和 attachEvent() 附加事件。 check jQuery source code

正如你所说 jQuery 事件:

are stored in a array and can be reffrenced via obj.event("name").