Javascript防止默认不起作用

时间:2014-02-24 00:36:07

标签: javascript jquery preventdefault

我知道有很多关于preventDefault()不起作用的帖子但是我去了那些并且没有得到任何东西。

我正在做的就是捕获一个click事件,然后从响应中追加html但是preventDefault()并没有阻止页面重新加载,我很困惑。

这是我的HTML:

<div class="slide_pane"> 
 <div class="profile_content"></div>

 <div class="account_bottom_bar">
  <ul class="bottom_bar_list">
    <a href="/profiles/load" class="sidebar_link">
      <li>
        <p>Content</p>
      </li>
    </a>
  </ul>
 </div>

这是我的JS:

$(document).scroll(function() {
 ajaxView();
});

var ajaxView = function() {
 $('.sidebar_link').click(function(e) {
 e.preventDefault();
 $.ajax ({
  type: 'GET',
  url: $(this).attr("href")

  }).done(function(resp) {
   $('.profile_content').append(resp);
  });
 });
};

但是当我点击该动作时,它只是在新屏幕中加载响应中的HTML。

任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

没有任何事情发生,因为HTML中没有sidebar_link。

使用event.preventDefault()的示例:

$(document).ready(function() {
    $(".sidebar_link").click(function(event) {
        event.preventDefault();
        $(this).css("color", "red");
    });   
});

以下是如何在链接上使用event.preventDefault()的示例:http://jsfiddle.net/LUKVT/