[英]jQuery .click function executes twice in a row
我正在使用jQuery開發第一個程序,但遇到了問題。 我在pageLoad上彈出一個對話框,要求用戶選擇日期和轉彎。 現在,出於調試目的,每次.click()執行時,我都會發出警報,由於某種原因,它似乎在用戶單擊之前和之后立即執行。
有三個單選按鈕,分別為1、2和3。當用戶單擊“ 1”時,警報應顯示為“ 1”。 當用戶單擊“ Turn 2”時,警報應顯示“ 2”,以此類推。但是由於某種原因,它會警報先前的值以及新的值。 我搜索了所有代碼,並且只有一個警報,因此我無法弄清楚兩次調用click()的情況。 我已經在IE和Chrome中對其進行了測試,並且兩次都發生了。
這是我的.click()函數:
$("#turn-radio")
.click(function () {
turnvalue = $("input[name='turn-radio']:checked").val();
alert(turnvalue);
});
如果您檢查此jsfiddle ,您將看到我的其余代碼,希望可以更輕松地找出問題所在。
謝謝!
您需要更改selector:
由於單選按鈕的ID不同,並且您將名稱指定為selector
,因此您會遇到該問題:
$("input[name='turn-radio']")
.click(function () {
turnvalue = $("input[name='turn-radio']:checked").val();
alert(turnvalue);
});
改變中
$("#turn-radio") to $("#turn-radio label")
導致僅一個彈出窗口顯示前一個值
但是,我個人會
$("#turn-radio input").change( function() { /* do stuff */ } )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.