【发布时间】:2014-04-02 03:37:08
【问题描述】:
当我点击后退按钮时,我需要导航到上一页,它实际上有一个标签,它可以转到主页。相反,我应该阻止它进入主页。
$('#id').click(function(){
$(this).removeAttr('href');
});
我如何使用 preventDefault(); 而不是删除 href attr有什么建议吗?
干杯!
【问题讨论】:
标签: jquery
当我点击后退按钮时,我需要导航到上一页,它实际上有一个标签,它可以转到主页。相反,我应该阻止它进入主页。
$('#id').click(function(){
$(this).removeAttr('href');
});
我如何使用 preventDefault(); 而不是删除 href attr有什么建议吗?
干杯!
【问题讨论】:
标签: jquery
点击处理程序接收event object作为第一个参数,用它来调用preventdefault()
$('#id').click(function(e){
e.preventdefault();
});
【讨论】:
这样做:
$('#id').click(function(e){
e.preventDefault();
});
演示:http://jsfiddle.net/AmitJoki/9zUuC/2
或者只返回false:
$('#id').click(function(){
return false;
});
演示:http://jsfiddle.net/AmitJoki/9zUuC/1/
return false; 被有效地用于event.stopPropogation() 和event.preventDefault();
而event.preventDefault() 就像它的名字所说的那样:它阻止默认操作。
【讨论】:
event 对象在此浏览器中没有暴露在全局范围内。至于第二个,你至少应该提到return false 和Event.preventDefault() 之间的区别。