2014-10-16 220 views
0

我的問題:爲什麼函數調用$(「#p1」)。click()不會模擬用戶點擊「p1」?即$(this).hide()根本不被執行爲什麼click()函數不起作用?

但是,如果我在$(document).ready(function(){});,註冊點擊事件,那麼$(「#p1 「)。點擊()的作品爲什麼

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 

$("#p1").click(function(){ 
    $(this).hide(); 
}); 

$(document).ready(function(){ 
$("#p1").click();   <== this line doesn't work! why? 

}); 

</script> 
</head> 
<body> 

<p id="p1">If you click on me, I will disappear.</p> 

</body> 
</html> 

回答

3

也就是說,當你安裝的單擊事件it.Use因爲元素#p1未加載:?

$(document).ready(function(){ 
$("#p1").click(function(){ 
    $(this).hide(); 
}); 
$("#p1").click();   
}); 
+0

謝謝。實際上這部分「$(」#p1「)。click(function(){$(this).hide();});」在另一個JavaScript文件中。那麼如何在$(document).ready回調函數中動態加載它? – user1157924 2014-10-16 15:20:52

+0

@ user1157924:看看這個http://stackoverflow.com/a/19737116/1719752 – 2014-10-16 17:08:35

0

對我來說,它的工作原理與以下代碼

$(document).ready(function(){ 
    $("#p1").click(function(){ 
     $(this).hide(); 
    }); 
}); 
+0

謝謝。更多問題:如果「$(」p1「)。CLICK(function(){...});」部分是在另一個JavaScript文件?我可以在這裏「包含」那個.js文件嗎? – user1157924 2014-10-16 15:00:42

+0

例如,如果您已將該代碼放入「script.js」文件中,則只需將這些標記添加到HTML代碼中即可:「」 – Kalakuh 2014-10-16 15:05:43

+0

但您無法寫入「 $(document).ready(function(){...})函數中的「剛纔提到的人,我們需要在文檔準備好時註冊「點擊」事件......那麼我該怎麼辦?再次感謝 – user1157924 2014-10-16 15:18:37

相關問題