2011-06-14 82 views
3

我试图让内置jQuery小部件适用于动态内容,例如ajax调用或DOM操作(如克隆)。动态初始化jQuery ui小部件

现在我有一些工作,但是有点破解,我想看看你的建议,以改善这一点。需要记住的是,JS是由PHP生成的,我想避免出现需要处理为单个页面创建JS的情况。因为它是我可以只定义一个小部件类型,设置一些变量,并让PHP生成JS。原因是我需要传递来自数据库的变量并提供即时本地化的小部件。

jQuery('body').delegate('.juiDateStart', 'focusin', function (e) { 
    $(this).datepicker({ 
     'minDate': 0, 
     'onClose': function() { 
      juiDtp_343875e72a11870172ae2922f7dd9f4f($(this)); 
     } 
    }); 
}); 

上面的代码工作正常用于克隆和AJAX,但显然不必初始化每个的focusIn日期选择器不是一个理想的解决方案。我也加载自动完成和级联选择与此系统。

在此先感谢。

回答

1

每当你有这样的动态创建的JavaScript函数,我认为你只能有很多抽象之前,它会导致更多的开销。你为每个焦点初始化这个函数的方式似乎看起来没问题。

具有更详细的类逐类(或ID-通过-ID选择将加快这一过程中可能替换“”部分在函数的开口部很少(即当网页上有很多项目时......),但是现在(发布时)的方式似乎看起来没问题。

+0

感谢您的建议,这样做确实加快了页面的速度。 – 2012-01-26 21:46:18