下面的代码段!
请查看MDN上的这些文档和示例,您将找到答案。我会说这是正确的方法。
创建和触发事件
调度事件(示例)
取自“调度事件(示例)”-HTML链接(模拟点击):
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if(canceled) {
alert("canceled");
} else {
alert("not canceled");
}
}
这就是我要做的(2017 ..):
只需使用MouseEvent即可。
function simulateClick() {
var evt = new MouseEvent("click");
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if (canceled) {
console.log("canceled");
} else {
console.log("not canceled");
}
}
document.getElementById("button").onclick = evt => {
simulateClick()
}
function simulateClick() {
var evt = new MouseEvent("click");
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if (canceled) {
console.log("canceled");
} else {
console.log("not canceled");
}
}
<input type="checkbox" id="checkbox">
<br>
<br>
<button id="button">Check it out, or not</button>
document.getElementById("gift-close").click();
的?如果您是通过onload处理程序执行此操作(或者确保该<a>
元素存在),它将起作用