Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用鼠标或标记按钮上的.click()来检测真正的单击?_Javascript_Javascript Events - Fatal编程技术网

Javascript 如何使用鼠标或标记按钮上的.click()来检测真正的单击?

Javascript 如何使用鼠标或标记按钮上的.click()来检测真正的单击?,javascript,javascript-events,Javascript,Javascript Events,我想检测我的一些用户是否真的单击了投票按钮或使用了click()函数。我的投票按钮位于按钮标签或标签中 该函数触发单击事件。它不会触发mousedown或mouseup事件。这并不是说没有人可以触发mousedown或mouseup事件,但是如果您想排除javascript代码触发click事件的情况,您可以简单地侦听mousedown或mouseup事件 下面是一个ES6示例 const demo1=document.getElementById('demo1'); const demo2=

我想检测我的一些用户是否真的单击了投票按钮或使用了click()函数。我的投票按钮位于按钮标签或标签中

该函数触发
单击事件。它不会触发
mousedown
mouseup
事件。这并不是说没有人可以触发
mousedown
mouseup
事件,但是如果您想排除javascript代码触发
click
事件的情况,您可以简单地侦听
mousedown
mouseup
事件

下面是一个ES6示例

const demo1=document.getElementById('demo1');
const demo2=document.getElementById('demo2');
demo1.addEventListener('click',e=>{
演示2.单击();
},假);
demo2.addEventListener('mousedown',e=>{
console.log('clicked');
},假)

是的,这是可行的,但我很好奇,我认为demo2.addEventListener可以被覆盖。我错了还是对了?你所说的覆盖是什么意思?正如你定义的demo2.addEventListener();如果用户再次定义这个demo2.addEventListener('click',e=>{console.log('trusted');}),该怎么办;使用浏览器控制台,我很确定第二个定义是有效的。如果用户合法单击并且不使用任何javascript代码,我是否有任何防弹方法可以检测到。请让我知道任何文章或博客帖子?添加新事件侦听器不会覆盖现有事件侦听器。当然,他们可以添加一个新的,没有第一个的制衡。您可以混淆代码以使用户更难阅读,但只要代码是客户端的,就没有防弹的解决方案。