jQuery 在 div onClick 中加载内容

jQuery loading content in div onClick

我的 'inc' 文件夹中有页面,当我点击 'trigger' 时,#wrapper 会将所选页面加载到 #wrapper 中。我的问题是;

每当我点击#wrapper 之外的'trigger' 时,它就会起作用。内容将加载到#wrapper 中。但是,当我在 #wrapper 中包含 'trigger' 时,它将无法正常工作。

我卡在这个问题上有一段时间了。

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;
    });
});

这是因为元素不可用,因此事件从未绑定。您可以尝试使用 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() {

也许您还应该 post 您的 DOM/Html 文件... 可能是触发器的 selection 有问题。 尝试 select 它与 class:

<a class="trigger-button">Click Me</a>


var trigger = $('.trigger-button')