时间:2017.01.13 发布人:08rptgq82
已解决问题
谷歌08rptgq82用户在2017.01.13提交了关于“
欧洲封锁令原声js怎么触发click事件”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-24T10:15:35。希望大家能够帮助她。
详细问题描述及疑问:期待您的答案,滴水之恩,来日我当涌泉相报
!
希望以下的回答,能够帮助你。
第1个回答
用户名:江充付仕唐
如果你只需要触发那些常见的事件,比如说鼠标点击,并且不考虑跨浏览器兼容的问题的话,只需要这样做:
docume来自nt.getElementB问答yId('myLink'才林供).click()
当然这么做的兼容性并不好,比如说FireFox就不干。另外onclick()这样的方法只能用于在h**TML中的内联写法。
如果事情稍微复杂一些,比如说你要触发一些自定义的事件,那么你必须要理解DOM里面的“事件对象模型”,本质上$.trigger()就是对几胞米具这些概念的封装。不过问题是DOM的一致性和兼容性一直都不太好,所以关于事件的对象模型长期以来都处于一个比较混乱的状况下,如果不用食着断外菜获立jQuery的话,想找到一个既简单又足够健壮的解决方案并不容易。
很长时间以来,推期切械罗供引衡课倒基人们都是这样做的:
//创建一个事件对象,就好像你绑定事件回调函数里获得的那个事件对觉准顶界承在象一样
varmyEvent=document.createEvent('Event')
//初始化这个事件对象,为它提高需州史田八易岁太凯把己要的“特性”
myEvent.i兵明行座似处香斤nitEvent('myEventName',true,true图亮审空胶亮同六顾)
//按照常见的方式绑定对该烈事件的**,这里的element可以是任何一个元素,你懂的
element.addEventListener('myEventName',function(evt){
//这里,evt就是你创建的事件对象了,不过它会更丰富一些——这些是浏览器为你做的
})
//然后这样触发它
element.dispatchEvent(myEvent)
你必须要去阅读createEventinitEventdispatchEvent这些方杆复然状我且银补法的文档来完整认识它们(文档可以去MDN找),上面介绍的只是基本用法。$.trigger()所封装的也就是它们(及其相关的来自构理兼容性处理等等)。不过这些方法已经有点“过时”了民胡机候九厂就分,特别像initEvent这样的方法更是已经被(新的苦没只DOM标准)废弃了。
以下是更“现代”的做法,不过老样子:兼容性会是问题:
varmyEvent=newEvent('耐杀策损适足律乙myEventName')
element.dispatchEvent(myEven乙视引也六均黄立效t)
绑定回调是一样的脸国适值征我就不重复了。另外“现代”的做法里触发内建事置精白件要用对应的接口,比如说:
varevent=newMouseEvent('click',{
'view':window,
'b教治时严权脱出浓判走ubbles':true,
'cancelable':true
});