jQuery preventDefault - 为什么它不起作用?

时间:2012-08-02 13:31:19

标签: jquery preventdefault

我有这个HTML:

<header>
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-inverse pull-left" href="myfile.html"> &larr; prev</a>
        <ul class="nav">
          <li><a href="#">Lorem</a></li>
          <li class="active"><a href="#">ipsum</a></li>
          <li><a href="#">Lorem</a></li>
          <li><a href="#">ipsum</a></li>
        </ul>
        <a class="btn btn-inverse pull-right disabled" href="file.html">next &rarr;</a>
      </div>
    </div>
  </div>
</header>

和这个JS(在document.ready包装器中):

$(".disabled").bind('click', function(e){
  e.preventDefault();
});

当我点击禁用的链接时,我仍然打开下一页。为什么呢?

1 个答案:

答案 0 :(得分:0)

因为它对我来说也是一个小提琴,我知道问题需要在我的剧本的其他部分。经过一些调试后我发现了问题:

$(".disabled").bind('click', function(e){
  e.preventDefault();
});

是在on包装器中设置的:

$("#poem").on("click", function() {
  $(".disabled").bind('click', function(e){
    e.preventDefault();
  });
})

写完之后:

$(".disabled").bind('click', function(e){
 e.preventDefault();
});

$("#poem").on("click", function() {
  // something...
})

现在有效!