这是我正在使用的代码:http://jsfiddle.net/qKyNL/12/
$('a').click(function(){
event.preventDefault();
var number = $(this).attr('href');
alert(number);
// AJAX
$.ajax({
url: "/ajax_json_echo/",
type: "GET",
dataType: "json",
timeout: 5000,
beforeSend: function () {
// Fadeout the existing content
$('#content').fadeTo(500, 0.5);
},
success: function (data, textStatus) {
// TO DO: Load in new content
// Scroll to top
$('html, body').animate({
scrollTop: '0px'
}, 300);
// TO DO: Change URL
// TO DO: Set number as active class
},
error: function (x, t, m) {
if (t === "timeout") {
alert("Request timeout");
} else {
alert('Request error');
}
},
complete: function () {
// Fade in content
$('#content').fadeTo(500, 1);
}
});
});
我正在尝试使用Jquery创建可降级的分页,但问题是“e防止默认”似乎没有触发,而是仍然跟随链接。可以请任何人告诉我如何让这个链接降级,所以如果Jquery被禁用它仍然有效。
答案 0 :(得分:2)
您没有传递事件对象。试试这个:
$('a').click(function(event){ // <-- notice 'event' passed to handler
event.preventDefault();
答案 1 :(得分:0)
应该是
$('a').click(function(event){
在第一行。请注意,event
作为参数传递给匿名函数。
答案 2 :(得分:0)
没有event
传递回调。
尝试
$('a').click(function(event){
------------------------------^
event.preventDefault();
}
答案 3 :(得分:0)
正如其他答案所说,你需要将事件变量传递给回调
$('a').click(function(event) {
event.preventDefault();
});
您还需要将所有代码包装到ready函数jQuery中,以便仅在jQuery准备好处理它们时才分配事件侦听器。
$(document).ready(function() {
$('a').click(function(event) {
event.preventDefault();
// the rest of your code
});
});