我有这个简单的HTML页面:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script>
<script>
$(document).ready(function () {
$('#test').click();
});
</script>
</head>
<body>
<a id="test" href="http://google.com">http://google.com</a>
</body>
</html>
我想在加载页面时触发名为test
的元素上的click事件。实际的代码实际上比这更复杂,但这个非常基本的例子不起作用。我检查了控制台日志,那里没有通知。
答案 0 :(得分:2)
您触发的.click()
是正确的,但您错过了'#test'
的点击事件,如下所示:
$('#test').click(function(){
alert('here');
});
现在您的完整jquery代码如下所示:
<script>
$(document).ready(function () {
$('#test').click(); //or $('#test').trigger('click');
$('#test').click(function(e){
e.preventDefault();
alert('here');
window.location.href = $(this).attr('href'); //redirect to specified href
});
});
</script>
答案 1 :(得分:2)
.click()实际上并不发送点击事件。
.click()的作用是定义单击元素时发生的事情。
答案 2 :(得分:2)
您需要使用触发DOM元素单击
$('#test').get(0).click();
使用.get(),它检索与jQuery对象匹配的DOM元素。由于.click()
将触发元素单击事件处理程序。它实际上不会单击该元素。
使用简单的Vanialla JS
document.getElementById('test').click()
答案 3 :(得分:1)
您的#test链接应绑定到一个函数,例如:
$(document).ready(function () {
//do something on test click
$('#test').on("click", alert());
//click test
$('#test').click();
});
答案 4 :(得分:0)
此处触发点击事件,即点击事件在页面加载时触发但您无法通过触发点击事件加载href,因为您可以使用
window.location.href =“http://www.google.com”;