0

以下は私のコードスニペットです:

$(document).ready(function()
{
    $('table#example td a.delete').click(function()
    {
        if (confirm("Are you sure you want to delete this row?"))
        {
            alert("You Press OK");
        }

    });
}); 

私のグリッドビューはページの下部にあります。[OK]または[キャンセル]ボタンを押すと、ページがTOPに移動します。

同じ立場を維持したい。これを制御する方法。

4

1 に答える 1

2

confirm実際には、 ;とは何の関係もありません。それはあなたがリンクをクリックしているという事実です(私はリンクがその中にhref=""またはその中にあると推測していますhref="#")。ブラウザはリンクをたどっています。これは、clickリンクのイベントのデフォルトのアクションです。

関数から戻るか、関数の引数をfalse受け入れてを呼び出すことで実行できるデフォルトのアクションを防ぐ必要があります。eventclickevent.preventDefault()

戻るfalse(デフォルトのアクションを防ぎ、祖先要素へのクリックバブリングを停止します):

$(document).ready(function()
{
    $('table#example td a.delete').click(function()
    {
        if (confirm("Are you sure you want to delete this row?"))
        {
            alert("You Press OK");
        }
        return false;
    });
});

使用preventDefault(デフォルトを防ぐだけで、バブリングを停止しません。祖先要素にもクリックが表示されます):

$(document).ready(function()
{
    // Note argument -----------------------------v
    $('table#example td a.delete').click(function(event)
    {
        event.preventDefault();
        if (confirm("Are you sure you want to delete this row?"))
        {
            alert("You Press OK");
        }
    });
});
于 2012-05-12T08:12:18.233 に答える