使用jquery / js禁用href

时间:2012-06-25 21:03:18

标签: javascript jquery

我在通过jquery禁用href链接方面遇到了困难。我正在使用我修改过的这个方法。有人可以建议或帮助我解决这个问题吗? 谢谢。

的jquery / JS

<script>
 $('.next-tab').click(function() {
     $('.st_tab_active').attr('disabled','disabled');
     var tab=  $('.st_tab_active').parent().next().children('a');
     tab.removeAttr('disabled');
     tab.trigger('click');
     return false;
      });
</script>

HTML

<ul class="st_tabs">
    <li><a href="#st_content_1" class="st_tab" disabled="disabled">Horizontal Tab #1</a></li>
    <li><a href="#st_content_2" class="st_tab" disabled="disabled">Horizontal Tab #2</a></li>
    <li><a href="#st_content_3" class="st_tab" disabled="disabled">Horizontal Tab #3</a></li>
    <li><a href="#st_content_4" class="st_tab" disabled="disabled">Horizontal Tab #4</a></li>
    <li><a href="#st_content_5" class="st_tab" disabled="disabled">Horizontal Tab #5</a></li>
</ul>

4 个答案:

答案 0 :(得分:4)

您可以使用preventDefault();来禁用链接的默认行为(即导航到给定的href)。

$("a").click(function(e){
    e.preventDefault(); 
});

答案 1 :(得分:3)

所有答案看起来都像是可能的解决方案

以下是关于在锚标签上使用残疾人财产的讨论

Should the HTML Anchor Tag Honor the Disabled Attribute?

更好,不要使用禁用属性,这种非法;)

现在你有了

event.preventDefault();

return false;

以下讨论两者的使用,

event.preventDefault() vs. return false

对于你的情况,看起来返回false是好的,因为你不想冒泡。

对于你的确切问题的解决方案不能说,因为你没有很好地解释这个问题,

在单击某个“下一个标签”时,您似乎尝试使用某些启用/禁用标签切换标签。 如果您也可以解释,我们将很乐意为您提供帮助

答案 2 :(得分:1)

您可以使用两种方法,阻止默认操作或简单返回false。

$('a').click(function(event)
{
    event.preventDefault(); 

    // Rest of the code

    return false;
});

答案 3 :(得分:1)

正如ahren先前所述,这是要走的路,但为了不禁用您网站上的每个href,请使用:
    $('a.st_tab').click(function(e){
        e.preventDefault();
    });