【问题标题】:How to get value from a js function如何从 js 函数中获取值
【发布时间】:2014-08-29 03:10:42
【问题描述】:

我正在为街景查看器使用 KRPano 插件。我有一个<hotspot>,当我单击它时需要显示一个带有值的工具提示。我需要从 JS 函数中获取该值。所以我在我的热点中添加了<style>

<style name="styletooltips"
    onclick="exhibit(); set(layer[text].html, get(js(getText()))); "           
/>

我的js 功能:

function getText()
{
    return "Hello World!";
}

我尝试过这种方式,但我不断收到null。如果我在js 之前取出get,它实际上会显示js(getText())

P.D:exhibit()KRPano 操作,显示带有工具提示的图层。

【问题讨论】:

  • @Renan 感谢您创建标签。我不能
  • 继续参与,一旦达到 1,500 个代表,您就可以创建标签 ;)
  • 在这种情况下,getText 是什么?一个JS方法?
  • @DylanCorriveau 是的,我改进了这个问题。

标签: javascript krpano


【解决方案1】:

我没有用过很多 KRPano,也没有测试 atm 的环境,但我相信 get 是没有必要的。我相信你只需要这样做:

<style name="styletooltips"
    onclick="exhibit(); set(layer[text].html, js(getText())); "           
/>

如果你查看 KRPano documentation,它说 get 会尝试:

Resolve the 'variable' to its value.

在这种情况下,没有使用变量,只是一个方法。您应该安全地调用 js 并使用 return(因为它是字符串文字)。

编辑:我刚刚注意到 get 的参数列表,它对您的实例完全有意义。

variable (Any Variable):
When the variable doesn't exists, then get() will return null.

编辑 2:另一种选择是尝试使用该值设置一个变量,然后将其传递。示例:

<style name="styletooltips"
    onclick="exhibit(); var item = js(getText()); set(layer[text].html, item)); "           
/>

【讨论】:

  • 我之前实际上尝试过这种方式,但它显示在“js(getText())”层。好像它不识别 JS 方法。
  • 它会抛出错误吗?或者当你尝试时什么都不做?另外,您是否在使用 Flash 播放器?文档中提到了在使用 js 时设置安全限制...krpano.com/docu/actions/#js
  • 我没有显示错误,它显示了一个带有“js(getText())”的字符串,我就是这个意思。
猜你喜欢
  • 1970-01-01
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多