取消href中的功能

时间:2009-04-24 08:51:43

标签: jquery

我有像

这样的链接
<a href="www.site.com"  class="cancel">go there </a>

然后我有一些jQuery:

$(".cancel").click(function(){
        confirm("sure??");
 });

但是当我在警告框中点击取消时,它仍然会转到www.site.com而不是什么都不做。怎么解决这个问题?

4 个答案:

答案 0 :(得分:9)

返回bool是旧方法,但不是每个浏览器中的首选方法,而且这些天我遇到了很多问题。 jQuery包装事件对象并为您处理事件取消。

http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

$(".cancel").click(function(event){
    if (!confirm("Sure??"))
       event.preventDefault();
});

答案 1 :(得分:7)

添加return语句:

$(".cancel").click(function(){
    return confirm("sure??");
});

答案 2 :(得分:1)

从confirm()返回bool?

(虽然不是很多jQuery wizz :))

答案 3 :(得分:1)

乍得说得对。

event.preventDefault();是正确的解决方案。我尝试在锚标记上为click事件返回false,但它不起作用,因为我先调用window.location。通过将event.Default()设置为我的处理程序中的第一行,我可以创建窗口并正确打开而不允许执行href。