我知道有很多关于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。
任何想法?谢谢!
答案 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/