首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测浏览器自动点击

问检测浏览器自动点击
EN

Stack Overflow用户
提问于 2011-10-21 20:26:14
回答 2查看 576关注 0票数 1

我在实现我的jquery插件时遇到了一些问题。我需要一个插件,显示一些元素(弹出)和隐藏它时,我点击了这个元素的界限。

我实现了这个插件。但我对弹出窗口中的表单有问题。当我计算单击元素的坐标时,我使用pageX和pageY属性。

但是,当我尝试使用ENTER键提交表单时,这是一些有趣的事情。当我按回车键时,浏览器在提交按钮上触发了'click‘事件,但此按钮的pageX和pageY等于0。在event.target中,我看到了我的按钮。

当我自己点击submit按钮时,一切都是正常的。

问:如何检测谁点击了此按钮?用户还是浏览器?(没有任何尖峰,比如在输入时检测到enter键等)

附加:正如您所看到的,here事件是不同的(当单击submit并按ENTER时)。但差别太小了..。当我们通过回车提交表单时,我只看到'detail‘属性被设置为0。Detail属性是鼠标事件在元素上的点击量。

这是检测提交的唯一方法吗?这是正确的吗?

EN

回答 2

Stack Overflow用户

发布于 2011-10-21 21:13:17

如果要将单击处理程序绑定到单击事件,然后以编程方式以及从用户单击调用单击,并且希望区分处理程序中的两个事件,则可以检查在用户单击而不是.click()调用中设置的eventObject.originalEvent。

示例:

$('#el').click(function(evt){ if(evt.originalEvent){ //user click } else { // .click() call } });

票数 3
EN

Stack Overflow用户

发布于 2011-10-21 20:29:24

测试pageX == 0 AND pageY == 0怎么样?

或者更好的是,假设它是一个表单(从你的帖子中暗示),为什么不使用.submit()而不是.click()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7849354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档