我的“ inc”文件夹中有页面,当我点击“触发器”时,#wrapper会将所选页面加载到#wrapper中。我的问题是;
只要我单击#wrapper外部的“触发器”,它就会起作用。内容将加载到#wrapper中。但是,当我在#wrapper中使用“触发器”时,它将不起作用。
我坚持了一段时间。
JS代码:
$(document).ready(function() {
// Initial
$('#wrapper').load('inc/home.php');
});
$(document).ready(function() {
// Set trigger and container variables
var trigger = $('#test a'),
container = $('#wrapper');
// Fire on click
trigger.click(function() {
var target = $(this).attr('href');
// Begin fade
setTimeout(function(){ $('#wrapper').css("opacity", "0"); }, 0);
// Load target page into container
setTimeout(function(){ container.load('inc/' + target + '.php'); }, 400);
// End fade
setTimeout(function(){ $('#wrapper').css("opacity", "1"); }, 900);
// Stop normal link behavior
return false;
});
});
答案 0 :(得分:1)
这是因为该元素不可用,因此该事件从未绑定过。您可以尝试使用jQuery.load回调。
$(document).ready(function() {
var container = $('#wrapper');
container .load('inc/home.php', function() {
var trigger = $('#test a');
trigger.click(function() {
// your code here
});
});
});
或者,您可以将jQuery.on用于动态元素
更新自
trigger.click(function() {
到
container.on("click", "#test a", function() {
答案 1 :(得分:0)
也许您还应该发布DOM / HTML文件... 选择触发器可能是一个问题。 尝试选择一个班级:
<a class="trigger-button">Click Me</a>
var trigger = $('.trigger-button')