我正在使用页面加载 treeTable jQuery 插件并像这样使用它:
jQuery('#tablename').treeTable();
它工作得很好。现在,如果我单击一个按钮并再次运行完全相同的行,我会收到一条错误消息,告诉我没有名为“treeTable”的方法。如果我只是在加载过程中复制并粘贴该行多次运行,它们工作正常,因此问题仅在整个页面被摄取到 DOM 后才会出现。现在,如果我将 treeTable 分配给一个变量,我可以再次成功运行代码,然后像这样再次运行它:
在页面加载期间:
var treetable = jQuery('#tablename').treeTable();
点击按钮后:
treetable.treeTable();
这很好用。这将是一个可行的解决方案,如果不是因为我需要在动态加载的元素上使用 treeTable 插件中的其他方法(我不提前知道生成的 id,因此无法创建占位符对象来调用它们) . 所以我需要弄清楚为什么在页面加载完成后treeTable插件似乎消失了。
我的设置实际上在我的小测试环境中运行良好,只有当我将页面集成到更大的网站时才会出现这个问题。在较大站点上使用的唯一其他 jQuery 插件是 ui、dataTables 和 multiSelector。