我有以下代码.
HTML
<p id="test">hello</p>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
document.getElementById("test").addEventListener("click", function() {
console.log("called");
document.getElementById("test").click();
});
document.getElementById("test").click();
Run Code Online (Sandbox Code Playgroud)
当我运行它时,控制台只打印一次"被叫".我的问题是javascript使用什么机制来避免无限调用回调?
Adr*_*and -1
我想这可能是一个反跳事件,当第一个事件仍在运行时,它不会调度另一个单击事件,或者在特定时间段内停止双击触发事件处理程序两次。
document.getElementById("test").addEventListener("click", function() {
console.log("called");
document.getElementById("test").dispatchEvent(new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
}));
});
document.getElementById("test").click();Run Code Online (Sandbox Code Playgroud)
<p id="test">hello</p>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |