假设我定义了一个点击处理程序:
$("#foo").click(function(e){
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能在函数处理程序中判断事件是以编程方式触发还是由用户触发?
是否有任何方法可以让我检测按钮单击是否由真实用户执行而不是用户已加载到浏览器开发人员控制台或其他浏览器开发人员工具上的某些自动方法(javascript)?
我尝试了各种stackoverflow帖子中建议的以下方法,但它们似乎都不起作用.REF:如何检测click()是否是鼠标单击或由某些代码触发?
脚本检测方法尝试失败:
mybutton.click(function (e) {
if (!e.which) {
//Triggered by code NOT Actually clicked
alert(' e.which - not a real button click')
} else if ('isTrusted' in e && !e.isTrsuted) {
//Triggered by code NOT Actually clicked
alert(' e.isTrusted - not a real button click')
} else if (e.originalEvent === undefined) {
//Triggered by code NOT Actually clicked
alert(' e.originalEvent - not a realbutton click')
}
// else if (!e.focus) {
// //triggered // does not detect e.focus …Run Code Online (Sandbox Code Playgroud)