jQuery插件页面加载

jQuery插件页面加载

问题描述:

我加载了treetable中jQuery插件与网页,并使用它像这样消失后:jQuery插件页面加载

jQuery('#tablename').treeTable(); 

,它工作得很好。现在,如果我单击一个按钮并再次运行完全相同的行,则会发生错误,告诉我没有称为“treeTable”的方法。如果我简单地复制并粘贴该行以在加载过程中多次运行,则它们可以正常工作,因此只有在整个页面被摄入DOM后才会出现问题。现在,我可以再次成功运行的代码,如果我分配treetable中的变量,像这样再次运行:

在页面加载:

treetable.treeTable(); 

var treetable = jQuery('#tablename').treeTable(); 

按钮后点击

这工作正常。这将是一个可行的解决方案,如果不是因为我需要在动态加载元素的treeTable插件中使用其他方法(我不知道生成的ID会提前生成,因此无法创建占位符对象来调用它们) 。所以我需要弄清楚为什么treeTable插件在页面加载完成后似乎正在消失。

我的设置实际上在我的小测试环境中工作得很好,只有当我将我的页面集成到一个更大的网站时,才会出现此问题。在大型网站上唯一使用的其他jQuery插件是ui,dataTables和multiSelector。

你提到你是动态生成的元素......可能是因为这些项目是在它没有找到你的新元素之后添加的吗?

如果您使用jQuery 1.7或更高版本或许想是这样的:如果你正在使用jQuery 1.3-1.6或更高版本或许试图像

jQuery(document).on("click", ".btnClass", function(){ 
    jQuery('#tablename').treeTable(); 
)}; 

jQuery(".btnClass").bind("click",function(){ 
    jQuery('#tablename').treeTable(); 
)};