如何检测javascript构造函数是否已经运行?
我正在处理的页面中使用jquery工具选项卡和旋转木马。转盘嵌入在选项卡中,选项卡加载在beforeClick回调中 通常,转盘在文档准备功能中初始化,如下所示:如何检测javascript构造函数是否已经运行?,javascript,jquery-tools,Javascript,Jquery Tools,我正在处理的页面中使用jquery工具选项卡和旋转木马。转盘嵌入在选项卡中,选项卡加载在beforeClick回调中 通常,转盘在文档准备功能中初始化,如下所示: $(function() { // initialize scrollable $("div.scrollable").scrollable({ size: 3, clickable: true,
$(function() {
// initialize scrollable
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
当通过beforeClick加载转盘时,这不起作用,因为当DOM就绪时,此选项卡尚未加载
$("ul.tabs").tabs("div.panes > div", {
initialIndex: 0,
onBeforeClick: function(event, i) {
// get the pane to be opened
var pane = this.getPanes().eq(i);
var src = this.getTabs().eq(i).attr("href");
var langPattern = "/^" + getLang() + '/';
var forceReload = false;
if (src.match(langPattern) == null)
{
src = getLang() + "/" + src;
forceReload = true;
}
if (pane.is(":empty") || forceReload) {
// load it with a page specified in the tab's href attribute
pane.load(src);
// initialize scrollable - ONLY SHOULD BE DONE ONCE
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
}
}
}).history();;
我的问题分为两部分:
首先,是否存在一个事件,我可以添加一个处理程序来初始化首次加载的可滚动文件?
第二,如果没有,有没有办法知道滚动表是否已经构建好
这段代码背后的思想是根据用户的语言选择加载本地化的html片段。这是用于CD上的目录,而不是联机的。您可能需要查看。此事件匹配所有当前和将来的DOM匹配 编辑1 您想绑定到
div.scrollable
的onload
事件,对吗
$('div.scrollable').live('load', function() {
// etc.
});
我通过将回调附加到
load
调用解决了问题:
pane.load(src, "", function(){
$("div.scrollable").scrollable({
size: 3,
clickable: true,
loop: false
}).mousewheel();
});
但是我要绑定到什么事件呢?我想这不起作用,因为在调用DocumentReady时dom中没有滚动条。虽然这是一个很好的技巧,谢谢你给我展示!即使在绑定时没有匹配的元素,它也应该工作。您正在使用jQuery1.4吗?