首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QlikView过早地运行BodyOnLoadFunctionNames回调-为什么?

QlikView过早地运行BodyOnLoadFunctionNames回调-为什么?
EN

Stack Overflow用户
提问于 2013-05-06 21:47:16
回答 1查看 681关注 0票数 0

我在浏览器中使用QlikView有一个问题:我有一个列表框,并尝试使用初始化脚本访问它。

该脚本是使用其BodyOnLoadFunctionNames参数使用InitWorkbench函数注册的。到目前为止,这是有效的,初始化器在启动时运行。

在初始化器中,我尝试执行以下操作:

代码语言:javascript
运行
复制
var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01');

之后,当我看一看listbox.Type时,不幸的是它是undefined。如果我延迟这个查询的执行,它会正确地显示为LB,因此查询显然是有效的-但只有当它被延迟执行时才有效。

因此,很明显存在时间问题,而且似乎初始化器运行得太早(或者我做错了什么)。

谁能指出解决方案是什么(或者给我一个提示我哪里做错了)?

EN

回答 1

Stack Overflow用户

发布于 2013-05-06 22:05:49

好的,我已经找到了解决方案:内部更新函数还没有运行,所有的值只在这个函数运行一次后才可用,所以你需要提供一个对GetObject (在更新函数之后调用)的调用的回调:

代码语言:javascript
运行
复制
var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01', function () {
  console.log(listbox.Type); // => 'LB'
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16400148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档