JavaScript / jQuery - 任何检测点击类型的方法
JavaScript / jQuery - Any way to detect click type?
在我的代码中,我使用jQuery
的click()
函数。有没有办法检测点击类型?例如,区分鼠标点击和代码驱动点击的能力?
在我看来
,你需要e.originalEvent
:
$('button').on('click', function (e){
if (e.originalEvent === undefined) {
alert ('triggered by code');
}else {
alert ('triggered by mouse');
}
});
或者,您可能会尝试发送额外的事件数据进行检查。
另一种选择是检查以下e.isTrigger
:
$('button').on('click', function (e) {
if (e.isTrigger) {
alert ('triggered by code');
}else {
alert ('triggered by mouse');
}
});
当鼠标以物理方式单击它时,event
具有以下属性:
clientX:
clientY:
因此,如果它们是undefined
,那就是程序化的。
$(function () {
$("#btn").click(function (e) {
console.log(typeof e.clientX);
if (typeof e.clientX == "number")
alert("Mouse Click");
else
alert("Programmatic");
});
$("#pxy").click(function (e) {
$("#btn").click();
});
});
* {font-family: 'Segoe UI'; font-size: 10pt;}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<input type="button" value="Click" id="btn" />
<input type="button" value="Click the Button" id="pxy" />
相关文章:
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- Dynamics 2016内部部署Crm客户端脚本.选项集控件类型缺少方法
- 如何确保函数/方法参数为certian类型
- 在Javascript中调用对象方法时不是函数类型错误
- E4X中是否有一种方法可以将基元数据类型的XMLList转换为类似于Array.join()的Array
- 在输入类型提交按钮上调用 C# 方法
- 处理复杂类型时的声明方法
- JavaScript:创建新对象类型的方法
- 类型错误:对象 #<对象> 没有方法“身份验证”
- 未捕获的类型错误:Wordpress Jquery 幻灯片 - 对象没有方法
- 有没有一种方法可以通过列类型/属性来格式化MySQL单元格数据
- 未捕获的类型错误:无法调用方法'shift'Chrome中的Facebook JS库为null
- 使用each()方法来动画化代码类型
- 未捕获的类型错误:无法调用方法'至小写'的未定义
- 有没有一种方法可以在Typescript中自动检查数据类型的数据相等性
- 未捕获的类型错误:无法调用方法'每个'的未定义
- 未捕获的类型错误:对象#<节点列表>没有方法'addEventListener'
- 未捕获的类型错误:对象没有方法'sortContents'
- 是否有媒体查询类型方法可以根据设备切换js文件
- JavaScript中简单类型方法的委托