我有困難的dojo小部件沒有發射事件。爲什麼事件不是從dojo小部件元素中觸發的?
我試着用dojo.query
將事件綁定到某些元素,但它不會觸發事件。 所以我嘗試了dijit.registry
。但它也不會在點擊元素時觸發事件。
HTML
<div class="buttons">
<input id="radio1" type="radio" data-dojo-type="dijit/form/RadioButton" name="radiobtn" /> <label for="radio1">one</label>
<input id="radio2" type="radio" data-dojo-type="dijit/form/RadioButton" name="radiobtn" /> <label for="radio2">Two</label>
<input id="radio3" type="radio" data-dojo-type="dijit/form/RadioButton" name="radiobtn" /> <label for="radio3">Three</label>
</div>
的Javascript
require(["dojo/parser", "dojo/query", "dijit/registry", "dijit/form/RadioButton", "dojo/domReady!"], function(parser, query, registry) {
parser.parse();
on(query('.buttons input'), 'click', function() {
alert('Clicked');
});
on(registry.byId('radio1'), 'click', function() {
alert('Clicked Radio1');
});
});
下面是這個問題的Demo。
如何觸發事件與dojo.query
dojo小部件元素?
有沒有什麼辦法可以將一些小部件組合起來進行綁定?那就是具有相同類的小部件需要激發一個共同的功能。 –
我用可能解決問題的東西更新了我的答案。但是不用'.dijitRadio'選擇器,你可能需要'.buttons .dijitRadio'選擇器。 – g00glen00b