在jquery中将函数/类传递给ajax加载的DOM元素

时间:2011-04-01 16:39:44

标签: jquery-plugins jquery

好的,我编写了一些类/函数,允许我将特定行为绑定到某些DOM元素。我想将某些元素的所有行为组合在一起,所以我创建了一个插件/函数,它使用委托来设置我想要的所有功能。例如,假设我希望我的所有表单在提交之前都通过验证检查,并且我还希望在某人存在输入字段时显示一些文本(这些只是示例)。所以我编写了自己的表单插件来自动处理所有这些功能。它可能看起来像这样:

jQuery.fn.myFormPlugin = function(options){
    this.each(function(){
        $(this).submit(function(event){
            blah blah blah...
        });

        $(this).children("input").bind("focus",function(){
            blah blah blah...
        });
    });
}

然后当页面加载时,我只需通过以下方式调用它:

$("form.mySpecialForm").myFormPlugin();

一切都很好。但现在说我通过Ajax加载其中一些表单。如何自动将插件绑定到所有表单,无论是正常加载还是通过ajax?我不相信我可以使用bind,delegate或live,因为这些不能与“load”事件相关联,所以我被卡住了。我想我可以将插件作为ajax加载中成功回调的一部分来调用,但是我必须单独对每个ajax加载执行此操作。

我还有其他插件可以用于其他DOM元素,例如制表符,手风琴等,所以我正在寻找一种整体方法。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以添加自定义事件 - 然后在需要时触发这些自定义事件。

一个例子:http://www.reynoldsftw.com/2009/04/custom-events-in-jquery-open-doors-to-complex-behaviors/