是鼠标按钮的单击通用
Is onClick Universal for Mouse buttons?
我注意到谷歌在搜索结果中使用了onMouseDown,用于网络跟踪、查看关键字和排名等。
我想知道onClick和onMouseDown哪个更好,或者它们都支持以下所有功能:中键、左键、右键(其他按钮,如Gamer鼠标)。是否所有浏览器都支持它们,包括手机、平板电脑和所有其他操作系统上的浏览器?首先加载函数是至关重要的HREF在javascript失败的情况下用于SEO和其他UI/UX好处
<a href="http://www.site.com" onclick="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>
或
<a href="http://www.site.com" onMousedown="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>
或者看似显而易见的(我不会这样做,因为空间的每个字符对我的客户来说都很重要)
<a href="http://www.site.com" onclick="doMyFunctionFirst();" onMouseDown="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>
值得注意的是,如果选项卡指向链接并按Enter键,则click
事件将触发,但mousedown
/mouseup
不会。
主要区别在于,无论按下了哪个鼠标按钮,onmousedown
都会触发,而onclick
只会为鼠标左键触发——这很可能是您想要的。
onclick、onmousedown和onmouseup代表不同的行为,它们本质上都不是"更好"的:"点击"是按下然后释放按钮,mousedown是"向下",mouseup是"释放"。通常情况下,如果您正在执行一些拖放操作,这将是相关的。
MDN文档指出onclick在mousedown和mouseup之后触发。
此外,理想情况下,应该使用Unobtrusive Javascript技术而不是在标记中附加事件处理程序。
HREF在javascript失败的情况下留给SEO和其他UI/UX好处。
如果事件处理程序正在执行重定向/AAJAX请求或类似操作,如果您不希望浏览器在触发事件后跟随链接,则应使用preventDefault方法。
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 如何防止用户使用javascript或jquery在链接中单击鼠标中键
- 单击鼠标时如何停止重复功能
- 单击鼠标在画布上绘制一个实心圆
- Jquery检测“;输入“;按键而不是单击鼠标
- 在YouTube视频上单击鼠标静音/取消静音
- 按下esc键或随机单击鼠标时,Jcrop失去焦点
- jquery键并单击鼠标
- 在边界外单击鼠标关闭弹出框
- 尝试在画布中单击鼠标以添加图像
- 如何避免在浏览器 JavaScript 中双击时(单击鼠标)处理
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 在淘汰赛中更改 css 类.js单击鼠标
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 在jquery中单击鼠标
- 如何在网页上单击鼠标或鼠标悬停时播放部分音频文件
- 我的 js 函数在第二次单击鼠标后被调用
- 单击鼠标时文本输入更改类
- 有没有办法模拟每次单击鼠标左键时按 Ctrl 键
- 如何使用 Raphael.js 在每次单击鼠标时触发旋转动画