[英]jQuery .click method not executing event handler function
我有 HTML 看起來像這樣:
<form>
//...form content...
<input class="submit-button" value="Submit Review" type="submit">
</form>
然后是我的 javascript:
function submitReview(event) {
event.preventDefault()
//...does a thing...
}
然后我的事件處理程序:
$('.submit-button').click(submitReview)
以該順序。 當我運行調試器時發生的事情是,我的事件正在由處理程序在單擊我的提交時注冊,但是.click
方法中的 function 根本沒有被執行。 我嘗試在我的點擊事件中使用匿名 function 但仍然沒有骰子。 我很困惑,因為我覺得我在其他項目中以同樣的方式做了同樣的事情,所以我的問題可能不在我的代碼的 scope 之外,但我只是不知道它會是什么。
有任何想法嗎?
編輯:
原來我錯了,它根本沒有注冊按鈕點擊,它只是刷新頁面,因為它的類型是“提交”。 我的選擇器似乎有問題。 這可能與我的按鈕如何嵌套在較大的文檔中有關,這可能在我最初問題的 scope 之外,但感謝您的建議!
答案比這復雜得多,因為我的 HTML 已被動態聲明,因此事件處理程序無法附加到元素,因為在調用.click
時它們不存在。
我所要做的就是將$('.submit-button').click(submitReview)
更改為$('<static parent element>').on('click', '.submit-button', submitReview)
以便事件處理程序能夠在單擊時綁定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.