动态初始化jQuery ui小部件

3
我正在尝试让内置的jQuery小部件适用于动态内容,例如ajax调用或DOM操作,如克隆。
目前我有一个可行但有点瑕疵的解决方案,我希望看到您改进这个方案的建议。要记住的是JS是由PHP生成的,我想避免需要为单个页面创建JS的情况。现在,我只需定义小部件类型、设置一些变量,然后让PHP生成JS即可。原因是我需要从数据库传递变量并提供小部件的即时本地化。
jQuery('body').delegate('.juiDateStart', 'focusin', function (e) {
    $(this).datepicker({
        'minDate': 0,
        'onClose': function () {
            juiDtp_343875e72a11870172ae2922f7dd9f4f($(this));
        }
    });
});

上面的代码可以很好地实现克隆和Ajax,但显然在每次focusin时都要初始化日期选择器不是理想的解决方案。我也会用这个系统加载自动完成和级联选择。
提前致谢。
1个回答

1
每当你有像这样动态创建的Javascript函数时,我认为在产生更多开销之前,你只能有那么多的抽象。你为每个focusin初始化此函数的方式似乎看起来不错。
也许用更详细的class-by-class(或id-by-id)选择器替换函数开头的“body”部分会加快这个过程一点(即当页面上有很多项目时...),但是你现在的方式(发布时)看起来还不错。

感谢您的建议,这样做确实加快了页面速度。 - ianaré

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接