【问题标题】:Jquery .Load on click not workingJquery .Load点击不起作用
【发布时间】:2012-08-16 04:34:18
【问题描述】:

我有一个问题,我很困惑为什么我的代码不起作用,我试图通过单击列表项锚标记将 PHP 文件加载到 div 中。

代码:

<script type="text/javascript">
$(document).ready(function() {


//I have these 2 functions aswell that DO work

 $(".itm1 a").click(function(evt) {
     var page = $(this).attr('href');
     $("#page1").load(page);
     evt.preventDefault();
  });

  $(".footnav a").click(function(evt) {
     var page3 = $(this).attr('href');
     $("#page1").load(page3);
     evt.preventDefault();
  });
// ---------------------------

  $(".needslist a").click(function(evt) {
     var page4 = $(this).attr('rel');
     $("#page1").load(page4)
     evt.preventDefault();
  });



});
</script>


<ul>
 <li class="needslist"><span><a rel="/ceos.php" href="#">Are you a CEO SPEECH-MAKER or ENTREPRENEURIAL VISIONARY?</a></span><br />
            who wants the best advice and counsel from an expert coach for your own speeches and leadership events that include speaking to investors, stakeholders, business collaborators, board of directors, conferences and/or the media?</li><br />

 </ul>

谁能解释为什么它不起作用?

编辑: 好的,伙计们,所以我发现一旦我通过 ajax 加载了一个 div,该内容就无法处理 jquery。这是我的问题....如何在加载的内容上执行 jquery 脚本????!!!

【问题讨论】:

  • 这里的#page1 是什么?加载后还缺少一个错字;
  • #page1 是 div 我试图将 php 文件加载到...并且没有错误
  • 你在本地测试?
  • 编辑:好的,伙计们,所以我发现一旦我通过 ajax 加载了一个 div,该内容就无法处理 jquery。这是我的问题....如何在加载的内容上执行 jquery 脚本????!!!

标签: jquery


【解决方案1】:

找到解决办法:

一旦你加载了 ajax 内容,你就不能在加载的内容上执行任何脚本,这是我的解决方案:

$(".needslist a").live("click", function(evt) {
     var page4 = $(this).attr('rel');
     $("#page1").load(page4);
     evt.preventDefault();
  });

【讨论】:

  • 不推荐使用live(),它有很多缺点和问题。使用 on(),这是自 jQuery 1.7 以来推荐的方法,或者使用 delegate() pre 1.7 绑定到动态元素,使用 bind() 绑定静态元素。有关问题列表,请参阅live() 上的 jQuery 文档:api.jquery.com/live
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 2013-09-10
相关资源
最近更新 更多