<script type="text/javascript">
/*
*bind:处理dom2级事件绑定的兼容性问题(绑定方法)
* @parameter:
* curEle:要绑定事件的元素
* eventType:要绑定的事件类型(“click”,“mouseover”...)
* evenFn:要绑定的方法
*/
function bind(curEle,evenType,evenFn) {
if("addEventListener" in document) {
curEle.addEventListener(evenType,evenFn,false);
return;
}
// 给原有函数evenFn化妆
var tempFn = function () {
evenFn.call(curEle)
}
// 首先判断该自定义属性之前是否存在,不存在的话创建一个,由于要存储多个方法化妆后的结果,所以,我们让其值是一个数组
if (!curEle["myBind"]){
curEle["myBind"] = []
} else {
curEle["myBind"].push(tempFn)
}
curEle.attachEvent("on"+evenType, tempFn);
}
function unbind(curEle,evenType,evenFn) {
if("removeEventListener" in document) {
curEle.removeEventListener(evenType,evenFn,false);
return;
}
curEle.detachEvent("on"+evenType,tempFn);
}
</script>