2
上的按鈕點擊我顯示一條警告消息。以下是我正在使用的代碼。爲什麼.bind()不能在.ready()函數之外工作?
<script type="text/javascript">
// $(document).ready(function(){
$("#clickHere").bind("click",function(){
alert('clicked');
});
//});
</script>
作爲。就緒()行註釋掉,當我點擊按鈕的警告消息不拋出,但如果我取消這些線路的警報被拋出。不應該在兩種情況下都顯示警報消息,因爲我已經在「點擊」事件上添加了對按鈕的綁定。
問題:是''之前或''
因爲在JavaScript的塊進行解析,時,DOM還沒有準備好,因此你引用的元素還不存在。
來源
2013-02-22 16:49:43 hexblot
的DOM需要準備通過JavaScript操作,纔能有項目適用於它。
Try reading the documentation as to why it is necessary.
來源
2013-02-22 16:50:50 PlantTheIdea
不除非按鈕已經在DOM創建。如果你的代碼在頁面的頭部,這不會發生,但如果它是在關閉的body標籤之前,那就沒問題了。
來源
2013-02-22 16:50:53 j08691
在一個非常鬆散的感覺,想起$(「文件」)。就緒(),你會覺得在其他編程語言中的main()方法的方式相同。
來源
2013-02-22 16:51:40
要實現在DOM尚未準備好解析時爲元素設置事件處理函數的功能,我相信您可以使用'on'方法,您可以在其中「附加一個或多個事件的事件處理函數現在和將來的要素「。
http://api.jquery.com/on/
來源
2013-02-22 17:15:22 dafunkeemonkee