我寫了一個確認框使用功能:jQuery的等待事件的返回值
$.fn.confirmation = function(message, color) {
$('.notification').css("background", color);
$('.notification').html(message + "<br/><a href='#' id='sure'>I am sure</a> or <a href='#cancel' id='cancel'>Cancel</a>");
$('.notification').slideDown();
$(document).on("click", '.notification a', function(event){
if($(this).attr("id") == "sure") {
$('.notification').slideUp();
return true;
} else if($(this).attr("id") == "cancel") {
$('.notification').slideUp();
return false;
}
});
};
我的問題是,它會始終返回false,它甚至不等待事件。
我該如何強制JQuery等待用戶點擊?
爲什麼你要返回?不要使用'return',使用'event.preventDefault'或'event.stopPropagation'。你是否在螢火蟲中使用任何中斷點來計算流量? 'return false'表示上面的2,可能不會是你想要的。 – JorgeeFG
@Jorge如果用戶點擊true或false來執行操作,我是否在函數外部檢查? –
它不會返回false,它會返回未定義的(因爲'if'語句的目的是同一件事情),因爲'$ .fn.confirmation'函數中沒有'return'語句。你不能強制這個函數等到用戶點擊,因爲你最終會鎖定窗口。 –