下面是代码片段!
请看这些文档和示例,位于MDN上,你会找到答案。我认为这是正确的做法。
创建和触发事件
分发事件(示例)
从“Dispatch Event (example)” 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");
}
}
This is how I would do it (2017 ..) :
Simply using 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>
元素存在),它将起作用:http://jsfiddle.net/LKNYg/ - nnnnnnhref="javascript:void(0)"
,这会导致严重的SEO问题。 - AmerllicA