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).

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...