2014-09-22 61 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」;