触发用jQuery链接到Spotfire控制元素的铁Python脚本

时间:2019-05-19 10:28:02

标签: jquery ironpython spotfire

我有一个html设计的textarea(沿着KPI磁贴的行),并且有一个Spotfire控制框(KPI值)。现在,该功能是当单击Spotfire控件时,模板上的可视化效果将基于ironpython脚本进行更改。

我想扩展此功能,以便通过单击html KPI磁贴上的任意位置来触发contol单击。

我能够捕获HTML元素上的click事件,但是当我在SF元素上触发click事件时,所需的动作并未被触发。

例如:

$(".kpivalue").click(function(){
   this.children("SpotfireControl").trigger("click");
});
<DIV class=kpivalue><SpotfireControl id="1234567890xxx" /></DIV>

1 个答案:

答案 0 :(得分:0)

我回答得太早了一点。哎呀!

控件不呈现为元素;这些是占位符或令牌,在呈现时会被HTML替换。

在计算值的情况下,生成的DOM如下:

<div id="myContainerDiv">
  <span id="randomGUID1" style>
    <span id="randomGUID2" viewid="randomGUID2" class="EmbeddedMiniatureVisualization" ...>
      <span class="actionCell" style="...">theCalculatedValueValue</span>
    </span>
  </span>
</div>

因此,当您要定位实际计算值时,您将需要

$("#myContainerDiv").click(function(){
   $(this).children("actionCell").trigger("click");
});

由于Spotfire的DOM可能有点怪异,所以您自己也必须有点怪异:)我的理解是.trigger("click")会触发对JQuery元素的点击,而不是实际DOM的点击。为此,您将需要以下内容:

$(".kpivalue").click(function(){
   this.children("SpotfireControl")[0].click();
});