* 添加事件监听函数
*obj 要添加监听的对象或元素
* eventName 事件名
*fun 监听函数的名称
*param 给监听函数传的参数,这里就传了一个参数
*
functionaddEventHandler(obj,eventName,fun,param=''){
var fn =fun;
if(param)
{
fn =function(e)
{
fun.call(this, param); //继承监听函数,并传入参数以初始化;
}
}
if(obj.attachEvent){
obj.attachEvent('on'+eventName,fn);
}elseif(obj.addEventListener){
obj.addEventListener(eventName,fn,false);
}else{
obj["on" +eventName] = fn;
}
}
*
* 删除事件监听函数
*obj 要添加监听的对象或元素
* eventName 事件名
*fun 监听函数的名称
*
function removeEventHandler(obj,eventName, fun) {
if(obj.removeEventListener)
obj.removeEventListener(eventName, fun, false);
else if(obj.detachEvent)
obj.detachEvent("on" + eventName, fun);
else deleteobj["on" + eventName];
}
JS添加/绑定事件监听函数测试
//添加test02监听函数
function test2(){
var oview =document.getElementByIdx_x_x_x_x('eT1');
addEventHandler(oview,'click',test02);
}
//删除test02监听函数
function test2D(){
var oview =document.getElementByIdx_x_x_x_x('eT1');
removeEventHandler(oview,'click',test02);
}
var test002 = 0;
function test02(){
test002++;
document.getElementByIdx_x_x_x_x('sub').innerHTML = test002;
}
if(param)
{
fn =function(e)
{
fun.call(this, param); //继承监听函数,并传入参数以初始化;
}
}
if(obj.attachEvent){
obj.attachEvent('on'+eventName,fn);
}elseif(obj.addEventListener){
obj.addEventListener(eventName,fn,false);
}else{
obj["on" +eventName] = fn;
}
}
*
* 删除事件监听函数
*obj 要添加监听的对象或元素
* eventName 事件名
*fun 监听函数的名称
*
function removeEventHandler(obj,eventName, fun) {
if(obj.removeEventListener)
obj.removeEventListener(eventName, fun, false);
else if(obj.detachEvent)
obj.detachEvent("on" + eventName, fun);
else deleteobj["on" + eventName];
}
JS添加/绑定事件监听函数测试
//添加test02监听函数
function test2(){
var oview =document.getElementByIdx_x_x_x_x('eT1');
addEventHandler(oview,'click',test02);
}
//删除test02监听函数
function test2D(){
var oview =document.getElementByIdx_x_x_x_x('eT1');
removeEventHandler(oview,'click',test02);
}
var test002 = 0;
function test02(){
test002++;
document.getElementByIdx_x_x_x_x('sub').innerHTML = test002;
}