在道场/仪表/文本指示器上的事件

时间:2013-11-27 16:25:02

标签: javascript dojo

我使用dojo创建此规范,但现在我需要将事件添加到某个元素,在本例中为textindicator。

我一直在阅读文档http://bill.dojotoolkit.org/api/1.9/dojox/dgauges/TextIndicator

和dojox / dgauges / TextIndicator没有方法'on'或'connect',但是dojox / gauges / TextIndicator(将被弃用的东西)都有。

有没有办法将事件添加到我的dojox / dgauges / textindicator,或者可以将其替换为其他元素?

这是我的代码 http://fiddle.jshell.net/THJqV/11/

例如,我需要将onclick事件添加到:var indicatorText = new TextIndicator();

3 个答案:

答案 0 :(得分:1)

新的TextIndicator确实有点蹩脚,但我可以提供一点点黑客。

// track clicks on title TextIndicator
var titleText = 'Reporte Comparativa Comercial-Adquisicion';
gauge.on('click', function(event) {
    var target = event.target;
    if(target.childNodes && target.childNodes[0].data == titleText)
        alert("Bingo!");
});

首先,您可以将.on()添加到您的仪表中。但是,你需要一些黑客来区分点击。见http://fiddle.jshell.net/BRv4s/

答案 1 :(得分:1)

答案 2 :(得分:0)

我发布了两个很好的答案之前找到了另一个解决方案,我也将发布它。

我只添加这些行并且有效!:

gauge.refreshRendering();
gauge.getElementRenderer("legend" + id).on('click', function () { alert('goku')});

这里是示例http://jsfiddle.net/MacroX/THJqV/12/