删除<a> functionality</a>

时间:2011-07-10 02:31:27

标签: javascript jquery html css

我以前见过这个,但我不确定在哪里。

我正在使用<a class="classname">的href属性来表示页面上的特定id,因为我拥有jQuery插件,使用href属性来定义要使用的id。

当然,当它被点击时,页面向下滚动到id的顶部,我真的不想要(我希望页面保持在相同的位置)。

有什么方法可以保持href属性不变,但是取消<a class="classname">的“链接”功能?

6 个答案:

答案 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>

希望这对具有相同类名的多个链接有用。