从this question开始,我正在尝试实现一个不太显眼的确认对话框。
$(document).ready(function () {
$("[data-confirmPrompt]").click(function (event) {
var confirmPrompt = event.currentTarget.attributes['data-confirmPrompt'].value;
event.preventDefault();
$.prompt(confirmPrompt, {
buttons: { Yes: true, No: false },
callback: function (v, m, f) {
if (v) {
// User clicked Yes. Unbind handler to avoid
// recursion, then click the target element again
$(event.currentTarget).unbind('click');
event.currentTarget.click();
}
}
});
});
});
当用户单击"Yes“时,我希望执行与该事件关联的默认操作。我在上面通过取消绑定jQuery处理程序并再次单击该元素来完成此操作。当提交表单或导航到不同的页面时,这种方法可以很好地工作-但当然不适用于支持AJAX的页面,因为我希望在页面中保留jQuery事件处理程序。
是否有其他通用的方法来执行默认操作?逻辑上类似于event.executeDefault()
。
发布于 2012-09-15 03:28:44
我正在做类似的事情,这对我来说很好:
$('#link').click(function(e){
if(!confirm('Are you sure you want to asdf?')){
e.preventDefault();
}
});
https://stackoverflow.com/questions/8105556
复制相似问题