这是我的 JavaScript:
$("#nav a, #residential a, #commercial a, #industrial a").not("#nav-services, #quote").on("click", function() {
var link = $(this).attr("href");
link = link.slice(1);
$("#main-content").fadeOut(500, function() {
$("#main-content").load('index.php?jQueryLoad=true&url=' + link, function() {
flexsliderload();
$("#search-term").keyup(areasearch);
$("#carousel").show();
$("#search").show();
});
$("#main-content").fadeIn(500);
});
return false;
});
数据被动态加载到页面上的<div>
调用#main-content
中。除了新加载的部分内的链接外,一切正常。他们正在发出标准的 HTTP 请求并在单击时重新加载页面。我想使用.on()
绑定它们和所有未来的事件。我究竟做错了什么?
更新:
好的,这确实有效,但是无论如何将代码压缩为一个事件?
$("#nav").not("#nav-services, #quote").on("click", "a", function() {
var link = $(this).attr("href");
link = link.slice(1);
$("#main-content").fadeOut(500, function() {
$("#main-content").load('index.php?jQueryLoad=true&url=' + link, function() {
flexsliderload();
$("#search-term").keyup(areasearch);
$("#carousel").show();
$("#search").show();
});
$("#main-content").fadeIn(500);
});
return false;
});
$("#main-content").on("click", "#residential a, #commercial a, #industrial a", function() {
var link = $(this).attr("href");
link = link.slice(1);
$("#main-content").fadeOut(500, function() {
$("#main-content").load('index.php?jQueryLoad=true&url=' + link, function() {
flexsliderload();
$("#search-term").keyup(areasearch);
$("#carousel").show();
$("#search").show();
});
$("#main-content").fadeIn(500);
});
return false;
});