我在頁面上有一些html,而在我的頭上我有$("#someelement").click(alert("click"));
。無論#someelement是否存在,當我由於某種原因加載頁面警報熄滅。但是,當我有$("#someelement").click(function(){alert("click")});
時,它不會執行。這是爲什麼?在頁面加載時執行的JQuery事件處理程序
回答
alert("foo")
將總是立即提醒foo,它不會返回可以作爲事件處理程序傳遞的函數。相反,您需要將一個函數傳遞給jQuery事件綁定方法。
$("#someelement").click(function(){
alert("click");
});
此外,如果這個代碼是在<head></head>
,它需要被包裹在$(document).ready()
。
$(document).ready(function(){
$("#someelement").click(function(){
alert("click");
});
});
alert
是window
對象上定義的方法,例如,window.alert
。它期望一個參數是一個字符串,並且它必須是窗口對象的成員。在alert
之後放置("string")
,如alert("string")
將執行該功能,導致彈出窗口爲"string"
。當您將alert("string")
作爲參數添加到函數時會發生同樣的事情,當所述代碼運行時會出現彈出窗口。
謝謝。出於興趣,這是怎麼回事? – Bluefire
因爲alert(「Foo」)'不返回函數。 '$ .fn.click()'需要一個函數作爲第一個參數傳遞。這正是JavaScript的工作原理。 –
試試這個:
$(document).ready(function() {
$("#someelement").click(function(){alert("click")});
});
這裏是一個工作Fiddle
- 1. 如何在頁面加載後註冊事件處理程序?
- 2. Response.write按鈕點擊事件處理程序中的代碼行在頁面加載時執行
- 3. 頁面加載時執行jQuery Popup嗎?
- 4. 重新加載頁面再次運行我的事件處理程序
- 5. 如何處理ASP.net MVC Ajax加載頁面上的jQuery事件?
- 6. 停止頁面在beforeunload事件處理程序中卸載
- 7. 執行RichTextBox事件處理程序「textChanged」
- 8. oneclick事件處理程序不執行
- 9. 無法執行事件處理程序
- 10. 在jquery中併發執行事件處理程序
- 11. ASP.NET Web窗體事件處理程序在加載後修改頁面組件
- 12. VSTO加載事件處理程序
- 13. 確保jQuery事件處理程序執行順序
- 14. 在ASP.Net中手動添加頁面事件處理程序C#
- 15. 關於(內聯)javascript事件處理程序執行jquery事件處理程序的順序
- 16. jQuery事件處理程序
- 17. jQuery事件處理程序
- 18. 在事件處理程序結束時執行javascript代碼
- 19. 通過jQuery的圖像加載事件處理程序ajax
- 20. jQuery的點擊事件處理程序加載HTML頁面加載後不工作()
- 21. 事件處理程序運行僅在前面的事件處理完畢
- 22. jquery控制事件處理程序執行
- 23. 實時附加事件處理程序
- 24. 在頁面加載時執行javascript
- 25. javascript在頁面加載時不執行?
- 26. 在默認行爲後執行的Javascript事件處理程序
- 27. C#,在單獨的線程中執行事件處理程序
- 28. 事件在運行時處理一個加載的程序集的
- 29. 加載頁面時執行的所有驗證程序
- 30. 添加自己的事件處理程序在其他事件處理程序
你包裹在$(文件)。就緒()? – Praveen
好問題。我已經嘗試過,沒有這個,兩種方法的結果都是一樣的。 – Bluefire
你能發表該代碼嗎? – Praveen