27 lines
830 B
Markdown
27 lines
830 B
Markdown
|
---
|
|||
|
title: Detect authentic click events
|
|||
|
localeTitle: 检测可靠的点击事件
|
|||
|
---
|
|||
|
## 检测可靠的点击事件
|
|||
|
|
|||
|
可能存在这样的情况:只有当用户真正触发click事件而不是某个脚本来模拟click事件时,才想要执行某些特定事情。
|
|||
|
|
|||
|
这个问题有一个非常简单的解决方案,javascript事件对象为我们提供了一个`.istrusted`属性,可以用它来区分。
|
|||
|
|
|||
|
#### 以下是使用此方法的示例
|
|||
|
|
|||
|
```javascript
|
|||
|
// Assume there is a button in the HTML
|
|||
|
const button = document.querySelector('button');
|
|||
|
|
|||
|
button.addEventListener('click', (e) => {
|
|||
|
if (e.isTrusted) {
|
|||
|
console.log('Button clicked by a real user');
|
|||
|
} else {
|
|||
|
console.log('Button click simulated by a script');
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
button.click() // Outputs "Button click simulated by a script"
|
|||
|
|
|||
|
```
|