Jquery单击功能不会触发单击

时间:2014-09-22 12:25:09

标签: javascript jquery

我有这个简单的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事件。实际的代码实际上比这更复杂,但这个非常基本的例子不起作用。我检查了控制台日志,那里没有通知。

5 个答案:

答案 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()

DEMO

答案 3 :(得分:1)

您的#test链接应绑定到一个函数,例如:

$(document).ready(function () {

  //do something on test click
  $('#test').on("click", alert());

 //click test
  $('#test').click();
});

http://jsfiddle.net/ub8unn2b/

答案 4 :(得分:0)

此处触发点击事件,即点击事件在页面加载时触发但您无法通过触发点击事件加载href,因为您可以使用

window.location.href =“http://www.google.com”;