我試圖添加一個確認框到許多鏈接,按鈕或輸入,點擊事件。JQuery:添加一個確認處理程序綁定/開和觸發函數
我不能使用location.href,提交(),或其他特定的功能,因爲:
- location.href,例如,將不會提交按鈕的工作,
- 位置。例如,href不會觸發其他綁定處理程序。
所以我需要使用的是trigger()函數,它在理論上執行所有的處理程序和本地操作。 「困難」部分是執行所有處理程序,除了彈出確認框的處理程序。
這裏是我的代碼:
$('a, button, input[type="submit"]').each(function() {
var oButton = $(this);
oButton.on('click.pending', function(oEvent) {
console.log('click !');
oEvent.preventDefault();
var oDialog = $('<div class="dialog-example">[Question] ?</div>').dialog({
buttons: {
Cancel: function() {
console.log('cancelled !');
// Nothing to do
oDialog.dialog('close');
},
Ok: function() {
console.log('confirmed !');
// Trigger the rest of the handlers AND the native action, BUT not this one, so this dialog is not used
// Problem : nothing happens here
oButton.trigger('click.confirmed');
oDialog.dialog('close');
}
}
});
});
});
提前感謝! ;)
你可以創建一個小提琴嗎? –
小提琴:http://jsfiddle.net/Chicna/EerEF/2/ – Chicna
在這種情況下,爲了「清晰」的代碼,我使用這樣的東西:http://jsfiddle.net/EerEF/4/ (oops) –