(見回答以下問題更新)
這不是一個語法錯誤。這是一個邏輯錯誤。
它變成如果格式化一貫的代碼稍微更清晰:
$(document).ready(function() {
minTime(1.5);
function minTime(minTime) {
var startTime = new Date();
// Hooking up a click handler
$("[class*=bfasg] .radio").click(function() {
// This code doesn't run until/unless someone clicks
// one of the `[class*=bfasg] .radio` elements.
$("#movenextbtn").click(function() {
var endTime = new Date();
if ((endTime - startTime)/1000 <= minTime) {
alert('You must spend at least ' + minTime + ' seconds on the question.');
return false;
} else {
return true;
}
});
});
}
});
你做了什麼沒有說。「當有人點擊一個[class*=bfasg] .radio
元素,勾了#movenextbtn
元素上的事件處理程序」
您可能不想等到有人點擊一個單選按鈕時才掛鉤事件。如果你的目標是掛鉤的Click事件上兩個組元素,在相同的選擇,你在CSS將它們組合起來:
$(document).ready(function() {
minTime(1.5);
function minTime(minTime) {
var startTime = new Date();
$("[class*=bfasg] .radio, #movenextbtn").click(function() {
var endTime = new Date();
if ((endTime - startTime)/1000 <= minTime) {
alert('You must spend at least ' + minTime + ' seconds on the question.');
return false;
}
});
}
});
(順便說一句,從一個jQuery的事件處理程序返回true
已經沒有任何意義,所以我刪除它上面)
下面你發表過評論:
什我想要點擊單選按鈕來自動觸發「下一步」按鈕進入下一頁,因爲每頁有一個問題。
這並沒有從根本上改變事情。您沒有顯示該按鈕移動到下一頁的操作,但是您只需將該代碼放在上面的一個click
處理程序中即可。例如,您仍然在單選按鈕和按鈕上掛鉤了click
,並且您仍然使用通用代碼處理該事件。例如:
$(document).ready(function() {
minTime(1.5);
function minTime(minTime) {
var startTime = new Date();
$("[class*=bfasg] .radio, #movenextbtn").click(function() {
var endTime = new Date();
if ((endTime - startTime)/1000 <= minTime) {
alert('You must spend at least ' + minTime + ' seconds on the question.');
return false;
} else {
// ****Move to next page here****
}
});
}
});
或者,你可以有單選按鈕,點擊該按鈕觸發click事件,像這樣:
$(document).ready(function() {
minTime(1.5);
function minTime(minTime) {
var startTime = new Date();
// Hook up `click` on the radio buttons
$("[class*=bfasg] .radio").click(function() {
// Respond to click by firing click on the #movenextbtn
$("#movenextbtn").click();
});
// Hook up `click` on the #movenextbtn
$("#movenextbtn").click(function() {
var endTime = new Date();
if ((endTime - startTime)/1000 <= minTime) {
alert('You must spend at least ' + minTime + ' seconds on the question.');
return false;
}
});
}
});
我不是射擊合成事件一樣,當一個巨大的風扇你可以使用通用邏輯,但這是一個選項。
嘗試在'bfasg'周圍加引號' –
@JanDvorak:如果沒有空格,那就沒有必要了。 –
在您提供的代碼中沒有語法錯誤,您是否收到運行時錯誤,如果是,它是什麼以及在哪一行? – HMR