我想知道应该在哪里为 UI 选项卡外部加载的页面定义 jQuery 操作。

例如,我有一个包含 3 个选项卡的 index.html 页面。Onclick每个选项卡都会加载extern1.html、extern2.html、extern3.html。这 3 个外部页面需要多个 jQuery 操作(onload-actions、onclick-actions 等)。

当我将外部页面的所有 jQuery 代码放入索引并加载其中一个外部页面时,当我单击选项卡时,此 jQuery 代码不会影响外部加载的页面。

当我将外部页面的所有 jQuery 代码放入外部页面本身时,它会引起麻烦(我认为),因为当我多次加载选项卡/外部页面时,它会一遍又一遍地加载 jQuery 代码,对吧?

那么我应该把 jQuery 代码放在哪里呢?(一些例子?)

非常感谢!

有帮助吗?

解决方案

您可以将代码放在标签加载事件处理程序:

$('.your-tabs-container').tabs({
   load: function(event, ui) { /* your code here */ }
});

或:

$('.your-tabs-container').bind('tabsload', function(event, ui) {
  /* your code here */
});

在这些情况下,根据文档,可以从ui参数检索必要的用户界面信息:

ui.tab     // anchor element of the selected (clicked) tab
ui.panel   // element, that contains the selected/clicked tab contents
ui.index   // zero-based index of the selected (clicked) tab

其他提示

把对母亲的HTML和使用.live()功能时,您的jQuery绑定你想要的事件。 文档这里

您应该只包含 jQuery 库一次!在您的索引页上。在外部页面上,您应该包含用于该单个外部页面的 javascript:

指数:

  • 包含 jQuery 库

外部1:

  • 与外部页面 1 相关的 jQuery 函数

外部2:

  • 与外部页面 2 相关的 jQuery 函数

我就是这么做的:-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top