技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> JavaScript --> 如何判断Event事件是否是用户主动执行的

如何判断Event事件是否是用户主动执行的

浏览:2807次  出处信息

有些网站主会模拟用户的行为触发click事件?

如果这个事件是jQuery模拟的,那么可以通过检测event.originalEvent是否存在来实现。

但是网站主完全可以通过createEvent()模拟一个Event,使它更像是真实的。

到这里我们发现,通过我们自己的Javascript已经不可能检测事件的真实性了,只有等浏览器出手。查了stackOverflow之后发现,浏览器还真的出手了。

http://stackoverflow.com/questions/6674669/in-jquery-how-can-i-tell-between-a-programatic-and-user-click

根据DOM Level 3 Events标准,在IE9+和firefox中,开始支持event.isTrusted属性,如果是用户发生的,就是true,否则就是false,并且这个属性不能被修改。参见:

http://www.w3.org/TR/DOM-Level-3-Events/

http://msdn.microsoft.com/en-us/library/ie/ff974948%28v=vs.85%29.aspx

http://help.dottoro.com/ljoljvsn.php


目前chrome也就是webkit内核还不支持此属性,但是相信不久以后,一定会支持的。

建议继续学习:

  1. DBA诊断利器 - Event 10046和 10053    (阅读:2178)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1