使用加载了 Ajax 内容的 jQuery“点击”功能?

2023-12-01

我有一个通过 Ajax 加载的 php 文件的内容,其中包含 HTML 和 JavaScript。我有一个按钮:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用加载了 Ajax 内容的 jQuery“点击”功能? 的相关文章

随机推荐