Ata*_*adj 1 javascript ajax jquery jquery-ui
我以这种方式调用了一些 jQuery UI 函数:
jQuery(document).ready(function(){
jQuery(".accordion").accordion();
});
Run Code Online (Sandbox Code Playgroud)
但是我的页面是基于 AJAX 的,有些页面可能会使用手风琴,有些可能不会使用它。大约有 30 多个其他功能需要重新附加,这是一个有问题的开发任务。有没有什么聪明的方法来解决这个问题,以便每个新的.accordion都自动附加?
可能的解决方案以及为什么它们不起作用:
load()不是一个选项,因为它是一个 CMS,用户可以在其中安装插件 - 这意味着插件添加的未知功能数量未知jQuery(document).ready();ajaxComplete- 使用未知数量的未知功能,每次安装或卸载 jQuery 插件时,如果不修改 AJAX 脚本,这将无法工作您可以使用该DOMNodeInserted事件并检查手风琴类。
document.addEventListener('DOMNodeInserted', function(e) {
var el = $(e.target);
if(el.hasClass('accordion')) {
el.accordion();
}
});
Run Code Online (Sandbox Code Playgroud)
DOMNodeInserted 的使用示例:http : //jsfiddle.net/qErHs/
| 归档时间: |
|
| 查看次数: |
7934 次 |
| 最近记录: |