我正在尝试使用 onStateChanged 事件为 dojox.mobile.Switch 小部件创建一个基本事件处理程序。我正在使用针对新 AMD 架构的 dojo/on 事件处理程序模块,并且很难让它监听我的 switch 事件。
这是 id=mobileView 的开关小部件的 HTML
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="icon:'../../app/images/i- icon-1.png'">
Mobile Version
<div id="mobileView" class="mblItemSwitch" data-dojo-type="dojox.mobile.Switch"></div>
</li>
这是JS代码代码。第二个要求是假设处理切换事件。
require(["dojox/mobile/parser", "dojox/mobile", "dojox/mobile/deviceTheme","dojox/mobile/compat", "dojo/domReady!"],
function(parser) {
parser.parse();
});
require(["dojo/on", "dijit/dijit"],
function(on){
on(dijit.byId("mobileView"),
"onStateChanged",
function(newState){
alert(newState);
});
});
</script>
我可以看到它正在使用 dijit.byId 将自身绑定到小部件,监听 onStateChanged 事件,并在状态更改后调用前面的函数。我认为这与在 require 中包含正确的模块有关,但是我不确定。我为此花费了数小时,并尝试了许多不同的方法,包括 dojo.connect 的旧方法。
任何帮助/提示将不胜感激!