我想检测一些用户是否真的点击了投票按钮或使用了click()函数。我的投票按钮位于按钮标签或标签中。
答案 0 :(得分:1)
HTMLElement.click
函数会触发click
事件。它不会触发mousedown
或mouseup
事件。这并不是说没有人可以触发mousedown
或mouseup
事件,但如果您要排除触发click
事件的javascript代码的情况,您可以直接听取{ {1}}或mousedown
个事件。
这是一个ES6示例。
mouseup
const demo1 = document.getElementById('demo1');
const demo2 = document.getElementById('demo2');
demo1.addEventListener('click', e => {
demo2.click();
}, false);
demo2.addEventListener('mousedown', e => {
console.log('clicked');
}, false);
如果您不关心Internet Explorer或Safari(老实说,谁做),您可以使用Event.isTrusted
这是另一个ES6示例。
<a href="#" id="demo1">Demo 1</a> <a href="#" id="demo2">Demo 2</a>
const demo1 = document.getElementById('demo1');
const demo2 = document.getElementById('demo2');
demo1.addEventListener('click', e => {
demo2.click();
}, false);
demo2.addEventListener('click', e => {
console.log(['not trusted', 'trusted'][+e.isTrusted]);
}, false);