控制页面在确认框的情况下移动到顶部

时间:2012-05-12 08:10:39

标签: javascript jquery web

以下是我的代码段:

$(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");
        }

    });
}); 

我的网格视图位于页面底部。我按下确定或取消按钮,页面移动到TOP。

我想保持同样的立场。如何控制这一点。

1 个答案:

答案 0 :(得分:2)

它实际上与confirm没有任何关系;这是你点击链接的事实(我猜这个链接中有href=""href="#")。浏览器正在关注链接,这是click链接事件的默认操作。

您需要阻止默认操作,您可以通过从函数中返回false,或接受event函数的click参数并调用{{3}来阻止默认操作}。

返回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");
        }
    });
});