javascript - 附加内容未触发 - 即使使用 .on()

标签 javascript jquery ajax popup

我使用 jQuery 附加以下内容来创建一个灯箱样式弹出窗口,该弹出窗口使用 AJAX 加载内容:

<div id="framebox-overlay">
  <div id="framebox-wrapper">
    <div id="framebox-nav-wrapper">
      <a href="#prev" class="framebox-prev framebox-nav">Previous</a>
      <a href="#next" class="framebox-next framebox-nav">Next</a>
    </div>
    <section id="framebox-content">
      <!--AJAX to insert #single-project-wrapper content here-->
    </section>
    <div id="framebox-close">
      <p>Click to close</p>
    </div>
  </div>
</div>

我试图让附加的下一个/上一个链接正常工作(.framebox-next.framebox-prev 如上所示),但是链接不是正确触发:

jQuery(document).ready(function(){

  $('.framebox-trigger').click(function(e){
    // Code that appends lightbox HTML and loads initial AJAX content goes here
  });

  // Code that isn't working:

  $('body').on('click', 'a .framebox-next', function(e) {
    e.preventDefault();

    //remove and add selected class
    var next = $('#portfolio-wrapper li.current-link').next('li > a');
    $('#portfolio-wrapper li.current-link').removeClass('current-link');
    $(next).addClass('current-link');

    //fade out and fade in
    var nexthref = $('#portfolio-wrapper li.current-link a').attr('href');
    $('#single-page-wrapper').fadeOut('slow', function(){
      var current = $('#portfolio-wrapper li.current-link a');
      $(this).load(nexthref + " #single-page-wrapper", function(){
        $(this).fadeIn('fast');
      });
    });
    return false;
  });

});

这最后一段代码没有对附加链接 .framebox-next 执行任何操作。我已经寻找了其他答案,似乎 .on() 方法应该会影响附加内容。

任何帮助或意见都会很棒。

最佳答案

您的.framebox-next选择器是错误的。 a.framebox-next 之间有一个空格,这意味着 .framebox-next 需要是 a 的子级 元素。

改用此选择器:

 $('body').on('click', 'a.framebox-next', function(e) {
    ...
 }

关于javascript - 附加内容未触发 - 即使使用 .on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18338888/

相关文章:

javascript - 在 for 循环中更改 HTML <select> 表单属性的名称

javascript - 无法跨域获取格式错误的 JSON

javascript - 添加两个侧边栏

jquery - 检查是否允许使用jQuery嵌入YouTube视频

javascript - 在循环中制作一个 jquery ajax POST

javascript - Javascript 中的数组循环

javascript - Node + xmldom : How do I change the value of a single XML field in javascript?

javascript - Meteor:Autoform 未向 mongo 提交帖子

JQuery 更改内部文本但保留 html

php - 使用 AJAX 切换 Like 按钮颜色