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;
});

onclickonbeforeclick イベントから「true」を取得すると、イベントが発生するはずです。

申し訳ありませんが、私が混乱している場合。beforeActivateアコーディオンのようなものかもしれません。

4

5 に答える 5

1

delete() をラップしてみませんか?

検証を onclick() イベントに配置し、true の場合はそこから削除します。

于 2013-04-27T09:47:22.603 に答える
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 に答える
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 に答える