如何使用javascript以编程方式单击非按钮元素?或者至少可以在Firefox和Chrome等浏览器中使用它?
T.J*_*der 13
信不信由你,对于一个相当基本的点击,你可以打电话click(但更多下面):实例 | 直播源
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Artificial Click</title>
</head>
<body>
<div id="foo">xxxxxxx</div>
<script>
(function() {
var foo = document.getElementById("foo");
foo.addEventListener("click", function() {
display("Clicked");
}, false);
setTimeout(function() {
display("Artificial click:");
foo.click(); // <==================== The artificial click
}, 500);
function display(msg) {
var p = document.createElement('p');
p.innerHTML = String(msg);
document.body.appendChild(p);
}
})();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您还可以创建相关类型的Event对象并使用dispatchEvent它将其发送到元素:
var e = new MouseEvent("click", {
view: window,
bubbles: true,
cancelable: true
});
foo.dispatchEvent(e);
Run Code Online (Sandbox Code Playgroud)
这让你有机会做的事情就像其它信息(典型的pageX和pageY您所模拟的事件,例如).
有关DOM Events规范第5节中各种事件对象类型的更多信息.
或者在 jQuery(文档)中点击一个非按钮元素
$( "#nonButton" ).click();
Run Code Online (Sandbox Code Playgroud)
或监听对该非按钮元素的点击
$("#nonButton").on("click", doSomething);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14855 次 |
| 最近记录: |