0

私はこの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();
});

無効なリンクをクリックしても、次のページが開きます。なんで?

4

1 に答える 1

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...
})

それは今動作します!

于 2012-08-02T13:46:08.747 に答える