微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用加载了Ajax内容的jQuery“click”函数?

我有通过Ajax加载的PHP文件内容,其中包含HTMLJavaScript.我有一个按钮:

<button class="search_button">Search</button>

我在下面有一个脚本,它将从jQuery函数更新文档哈希

<script type="text/javascript">
  $(".search_button").click(function() {
    var searchTerm = $('#search_Box').val();         
    document.location.hash="searchTerm";
    return false;
  });
</script>

当我单独运行PHP文件时,此代码有效,但是当从Ajax调用加载此页面时,该函数不再运行.在firebug中,脚本不存在所以我假设我无法在使用此方法时加载脚本.我还尝试将JavaScript代码段改为整个网站的标题,但这也失败了.

我也在考虑当有一个search_button类已经存在时,可能必须声明该函数,但是当我以前将它们放在一个文件中时(通过Ajax检索)它是以这种方式构造的,所以我很困惑至于问题.

解决方法:

您可以通过直播活动在全球范围内添加它:

  $(".search_button").live('click', function() {
    var searchTerm = $('#search_Box').val();         
    document.location.hash="searchTerm";
    return false;
  });

jQuery会自动评估脚本块,你无法在HTML中看到该功能,因为它已被剥离.但它应该已经运行了.问题很可能是时机问题.你可以做点什么

setTimeout(function(){  
    $(".search_button").click(function() {
        var searchTerm = $('#search_Box').val();         
        document.location.hash="searchTerm";
        return false;
    });
}, 500);

因此,当脚本加载时,它等待执行(希望给jquery时间用新元素更新DOM).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐