我以前见过这个,但我不确定在哪里。
我正在使用<a class="classname">
的href属性来表示页面上的特定id,因为我拥有jQuery插件,使用href属性来定义要使用的id。
当然,当它被点击时,页面向下滚动到id的顶部,我真的不想要(我希望页面保持在相同的位置)。
有什么方法可以保持href属性不变,但是取消<a class="classname">
的“链接”功能?
答案 0 :(得分:4)
添加以下属性:
onclick="return false;"
答案 1 :(得分:2)
$(document).delegate('.classname', 'click', function (e) {
e.preventDefault();
});
答案 2 :(得分:0)
扩展Samuel先生和Ruby先生的回答,您可以使用jQuery将其应用于所有元素:
$("a.classname").attr("href", "javascript:void 0").attr("onclick", "return false;");
答案 3 :(得分:0)
对于jquery,听起来需要使用preventDefault()。
<a href="#thisWontWork" class="classname">link</a>
<script type="text/javascript">
$('.classname').click(function(e) {
e.preventDefault();
//do other stuff
});
</script>
甚至是这样的......
<a href="#thisWontWork" onclick="something(); return false;">link</a>
答案 4 :(得分:0)
return false;
也会同时执行preventDefault和event bubbling
<a id="clickme" href="#">click me href </a>
$(document).ready(function() {
$("#clickme").click(function() {
alert("clicked!");
return false;
});
});
答案 5 :(得分:0)
<a href="someLink" class="classname">link</a>
<script type="text/javascript">
$(document).ready(function(){
$('.classname').each(function(){
$(this).click(function(){
//do whatever you want
alert($(this).attr('href'));
return false;
});
});
});
</script>
希望这对具有相同类名的多个链接有用。