2014-09-22 70 views
1

我有这个简单的HTML页面:jQuery的点击功能不触发点击

<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上加载页面。实际的代码实际上比这更复杂,但这个非常基本的例子不起作用。我检查了控制台日志,并且没有通知。

+0

你必须使用$('#test')。trigger(“click”); – 2014-09-22 12:27:49

+0

@Regent不,它是如果OP想要触发点击事件,必须完成的工作的实现驻留在他 – 2014-09-22 12:29:48

+0

@ChakravarthySM看看[文档](http://api.jquery.com/click/ #click)看看发生了什么,当你调用没有参数的'.click()'。 – Regent 2014-09-22 12:31:13

回答

2

您需要使用触发DOM元素点击

$('#test').get(0).click(); 

使用.get(),它检索由jQuery对象匹配的DOM元素。由于.click()会触发元素单击事件处理程序。它不会实际点击元素。

使用简单的Vanialla JS

document.getElementById('test').click() 

DEMO

2

.click()你触发是正确的,但你缺少如图所示为'#test' click事件:

$('#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> 
2

。点击()实际上并未发送点击事件。

.click()所做的定义是单击元素时发生的事情。

1

你#TEST链接应该绑定到一个功能,如:

$(document).ready(function() { 

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

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

http://jsfiddle.net/ub8unn2b/

0

这里单击事件被触发,即点击事件在页面加载解雇,但你不能只是触发click事件,对于您可以加载HREF使用

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