我有像
这样的链接<a href="www.site.com" class="cancel">go there </a>
然后我有一些jQuery:
$(".cancel").click(function(){
confirm("sure??");
});
但是当我在警告框中点击取消时,它仍然会转到www.site.com而不是什么都不做。怎么解决这个问题?
答案 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。