gpt4 book ai didi

php - 无法在使用 AJAX (jQuery) 加载的元素上执行函数

转载 作者:行者123 更新时间:2023-11-28 02:54:40 25 4
gpt4 key购买 nike

在使用 .ajax() POST 表单后,我使用 .prepend() 加载数据。

添加新元素后,我的函数将无法对其运行。

如果我直接在前置数据中链接js文件,这些函数就可以工作,但是当我POST时,我开始乘以事件。

我有一种感觉,它与绑定(bind)有关,但我无法弄清楚如何处理它。

有什么想法吗?

谢谢!

最佳答案

创建一个封装 jEditable 逻辑的函数,如下所示:

function initjEditable(){
$('.review_edit').editable('edit_review.php', {
indicator : 'Saving...',
tooltip : 'Click to edit...'
});

$('.review_edit_area').editable('edit_review.php', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="/hrt/images/indicator.gif">',
tooltip : 'Click to edit...'
});
}

然后从几个地方调用该函数。第一种方法是使其成为 blurbs 链接的 onclick .load 语句的回调,如下所示:

$('#adminContainer').load('blurbs.php',function(){ initjEditable(); });

这将确保它第一次运行而无需在 $(document).ready() 函数中。

第二个地方是在 .ajax 调用的成功函数中添加简介。看起来像这样:

$.ajax({
type: 'POST',
url: "add_review.php",
data: $(this).parent().serialize(),
dataType: "html",
success: function(data){
$("#results").prepend(data);
initjEditable();
$('#addForm').reset();
$('#add').hide('fast');
}
});

我假设您在 loadBlurbs 函数启动并运行时也需要执行同样的操作。这应该使所有内容都可以使用可编辑插件运行,而无需重新加载脚本 100 次。

我当时说得通吗?

关于php - 无法在使用 AJAX (jQuery) 加载的元素上执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978608/

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