gpt4 book ai didi

php - 使用加载了 Ajax 内容的 jQuery 'click' 函数?

转载 作者:可可西里 更新时间:2023-10-31 23:56:25 25 4
gpt4 key购买 nike

我有一个通过 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 片段而不是整个网站的 header ,但这也失败了。

我也在想,当已经存在一个 search_button 类时,也许必须声明该函数,但是当我以前将它们放在一个文件中(通过 Ajax 检索)时,它是以这种方式构造的,但无济于事,所以我对这个问题感到困惑。

最佳答案

您可以通过实时事件将其全局包含在内:

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

jQuery 会自动计算脚本 block ,你看不到 HTML 中的函数,因为它已被剥离。但是它应该已经运行了。问题很可能是时机。你可以做类似的事情

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

以便在加载脚本时等待执行(希望给 jquery 时间用新元素更新 DOM)。

关于php - 使用加载了 Ajax 内容的 jQuery 'click' 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com