簡體   English   中英

jQuery.click 方法未執行事件處理程序 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM