13-解决方案
9.3.2 解决方案
使用 jQuery.event.special 来完成这一工作。这个功能需要一个对象,该对象至少有一个每次为每个元素绑定事件时都要调用的函数,另外还有一个函数用于清理开始时所做的操作。
jQuery.event.special 的语法如下:
jQuery.event.special.myEvent = {
// 绑定自定义事件
setup:function( data, namespaces ){
this; // 绑定的元素
// 返回false获得原生绑定,否则将跳过它
},
// 清理
teardown:function( namespaces ){
this; // 绑定的元素
// 返回值的意义同上
}
};
在添加事件行为之后,可以这样做:
jQuery('#some_element').bind('myEvent', {foo:'bar'}, function(){...});
执行上述代码后,将调用 setup() 函数。