2012-05-12 44 views
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"); 
     } 

    }); 
}); 

我网的观点是在页面的底部。我按下确定或取消按钮,页面移动到TOP。

我想保持相同的位置。如何控制这一点。

回答

2

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

您需要防止默认操作,你可以从你的函数返回false,或通过接受event参数传送给click函数和调用event.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"); 
     } 
    }); 
});