删除<a>功能

Remove <a> functionality

本文关键字:功能 gt 删除 lt      更新时间:2023-09-26

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

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

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

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

添加以下属性:

onclick="return false;" 
$(document).delegate('.classname', 'click', function (e) {
   e.preventDefault();
});

扩展Samuel先生和Ruby先生的答案,您可以使用jQuery:将其应用于所有元素

$("a.classname").attr("href", "javascript:void 0").attr("onclick", "return false;");

对于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>
return false; 

将同时执行preventDefault和event bubling too

<a id="clickme" href="#">click me href </a>    
    $(document).ready(function() {
        $("#clickme").click(function() {
            alert("clicked!");
            return false;
        });
    });
<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>

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