gpt4 book ai didi

javascript - Jquery Live Load - 通过 ajax 加载表单

转载 作者:行者123 更新时间:2023-11-30 13:22:44 24 4
gpt4 key购买 nike

我只是想在通过 ajax 加载表单时调用一个函数。我当前的代码如下所示:

$('form').live("load",function() {...}

我的 ajax 调用如下所示:

jQuery.ajax({

type: "get",
url: "../design_form.php",
data: "coll=App_Forms&form=Step_1_Company_Sign_Up",
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn(1000);

}

})

我知道我可以将我的调用放在 ajax 调用的成功部分中,但我正在尝试最小化代码并重新使用其他代码,所以我真的很想使用实时功能。

我正在通过 ajax 加载一个表单,当加载该表单时,我想使用 jquery live 触发一个函数。当我将它设置为“点击”时,这工作正常

$('form').live("click",function() {...} 

但是没有必要在每次点击时都运行这个函数,我只需要它在表单加载时运行一次,所以这就是为什么我想使用加载监听器而不是点击。

谢谢。

最佳答案

编辑:我认为您希望在成功回调中包含自定义代码,这些代码将在不同的页面中使用,因此您不想在不同的页面中重复相同的 ajax 调用。如果是这样,那么您应该在该成功回调中调用一个函数,并在不同的页面中实现该函数的不同版本。

    jQuery.ajax({
type: "get",
url: "../design_form.php",
data: "coll=App_Forms&form=Step_1_Company_Sign_Up",
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn(1000);
afterFormLoad(); //Implement this function
}

});

function afterFormLoad() { } //dummy function defined in the common code

在您的特定页面中,

    function afterFormLoad () {  
//this is from page 1
}

如果您想了解如何使用 .die 解除绑定(bind),下面仅向您介绍 .live/.die.one .

您可以使用 .die 在点击处理程序中取消绑定(bind) .live

DEMO

$('form').live("click",function(e) {
alert('clicked');
$('form').die('click'); // This removes the .live() functionality
});

如果您使用的是 jQuery 1.7,则可以使用 .one。看下面的代码,

DEMO

$(document).one('click', 'form', function() {
alert('clicked');
});

关于javascript - Jquery Live Load - 通过 ajax 加载表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623522/

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