我使用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();
答案 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)
另一个可能的解决方案已发布在Dojo论坛上:http://dojo-toolkit.33424.n3.nabble.com/Event-on-exists-in-TextIndicator-Gauges-but-no-in-Dgauges-tt4000219.html#a4000221
答案 2 :(得分:0)
我发布了两个很好的答案之前找到了另一个解决方案,我也将发布它。
我只添加这些行并且有效!:
gauge.refreshRendering();
gauge.getElementRenderer("legend" + id).on('click', function () { alert('goku')});