0

我们在 jQuery 中有没有像“onBeforeSomeEvent”这样的事件?

例如,

<input type='button' class='confirmdelete' onclick='delete();' value='DELETE' />

现在我想显示一个自定义对话框以进行确认。(我不想在 JavaScript 中使用默认的确认方法)。

所以我需要类似的东西,

$('.confirmdelete').onBeforeClick(function() {
     if(true) //I show the custom dialog here and check some conditions. 
        return true;
     return false;
});

如果我从 onbeforeclick 事件中得到“真”,则该onclick事件应该触发。

对不起,如果我感到困惑。可能就像beforeActivate手风琴一样。

4

5 回答 5

1

为什么不直接包装 delete()?

将您的验证放在 onclick() 事件上,如果它是真的,从那里删除它。

于 2013-04-27T09:47:22.603 回答
0

也许,.mousedown()可能会帮助你。

于 2013-04-27T09:43:02.027 回答
0

id为您的删除按钮添加唯一性。

尝试使用jQuery 和jQuery UI 对话框的.click()功能。

$('.confirmdelete').click(function () {
    var cur_id = this.id;
    var buttons = '<div id="dialog' + cur_id + '" title="Confirm" align="center"><input type="button" value="Yes" id="yes' + cur_id + '" /><input type="button" value="No" id="no' + cur_id + '" /></div>'

    $(this).after(buttons);
    $("#dialog" + cur_id).dialog();

    $("#yes" + cur_id).click(function(){
        alert('true - ' + cur_id);
        //Write your delete code here
        $(this).parents(".ui-dialog-content").dialog('close');
        $("#dialog" + cur_id).remove();
    });

    $("#no" + cur_id).click(function(){
        $(this).parents(".ui-dialog-content").dialog('close');
        $("#dialog" + cur_id).remove();
    });
});

用评论部分中的删除代码替换警报。这是一个例子:JSFIDDLE

于 2013-04-27T09:43:15.597 回答
0

这个链接可以帮助你jQuery 删除确认框

还有首先触发删除确认,然后执行该事件。

于 2013-04-27T09:57:29.193 回答
0

你可以这样做:

HTML

<input type='button' class='confirmdelete' value='DELETE' />

JS

$('.confirmdelete').click(function () {
    var del = confirm('Are you sure?');
    if (del) {
        delete();  // Just call your "delete()" method here..
        return true;
    } else {
        return false;
    }
});
于 2013-04-27T10:00:27.123 回答