元素绑定单击点击事件方法
最简单的事情就是使用点击方法:建立document.getelementbyid VaR('btn);
Btn.click();
所有浏览器弹出1。但是如果输入被更改为div该怎么办
VaR D1 = document.getelementbyid('d1);
d1.click();
这一次没有2的Safari浏览器/ chrome.it是不是所有的浏览器都支持点击方法的所有元素。事实上,只有输入 /按钮元素所有的浏览器都有点击的方法。
上述所有事件都直接添加到HTML属性(内联事件),可以点击方法触发事件添加到埃尔。OnXXX / / attachevent addEventListener
Var addListener = window.addEventListener
功能(EL型,FN){ el.addeventlistener(类型,FN,false);}:
功能(EL型,FN){ el.attachevent(开+型,FN)};};
VaR BTN1 = document.getelementbyid('btn1);
var BTN2 = document.getelementbyid('btn2);
btn1.onclick =函数(){
警报(3);
};
AddListener(BTN2,听到咔哒声,函数(){ alert(4)});
btn1.click();
btn2.click();
所有的浏览器弹出3,4反过来。解释元素,支持点击的方法,可以使用内联或el.onxx或addEventListener / attachevent添加事件。
点击方法已如Safari和Chrome完成剩余的元素实现HTML5草案的书面(不输入 /按钮),然后模拟点击将非常简单,直接调用click方法。火狐也在5版本中就实现了非点击输入法/按钮元素,这是在Safari或Chrome有些落后。
因为在Safari、Chrome点击是不可用的,我们使用dispatchevent实施。
函数分派(EL,type){
尝试{
VaR EVT = document.createevent('event);
Evt.initEvent(类型,真的,真的);
El.dispatchEvent(EVT);
} catch(e){警报(e)};
}
VaR BTN1 = document.getelementbyid('btn1);
var BTN2 = document.getelementbyid('btn2);
VaR D1 = document.getelementbyid('d1);
调度(BTN1,听到咔哒声);
讯(BTN2,听到咔哒声);
调度(D1,听到咔哒声);
1,2,3弹出反过来。其他活动外还可引发的。在伊江,有一个fireevent触发一个事件,当然,如果它是一个单击事件使用点击更好。非点击事件只能由fireevent。
最后,我给我的triggerclick方法,判断浏览器的实现方式,判断形式。它是基于Safari和Chrome不支持非输入 /按钮点击该元素的方法。
功能triggerclick(EL){
VaR形式= el.nodename,
safari_chrome = / / WebKit。试验(navigator.useragent.tolowercase());
如果(safari_chrome(节点名!=输入的| |节点名!=按钮){)
尝试{
VaR EVT = document.createevent('event);
Evt.initEvent(听到咔哒声,真的,真的);
El.dispatchEvent(EVT);
} catch(e){警报(e)};
其他{ }
El.click();
}
}
以上实施可以让你了解在浏览器上的差异,但实现有点罗嗦。可以直接判断元素有一个点击的方法,而非在Safari浏览器输入 / /按钮元素没有点击的方法并返回未定义。
功能triggerclick(EL){
如果(单击){
El.click();
其他{ }
尝试{
VaR EVT = document.createevent('event);
Evt.initEvent(听到咔哒声,真的,真的);
El.dispatchEvent(EVT);
} catch(e){警报(e)};
}
}
特征判断也优于浏览器判断。例如,Safari / Chrome在后续版本中实现了非输入/按钮元素的单击方法,因此功能判断功能仍然可以向下兼容。
这一切都是本文的全部内容。我希望你能喜欢它。