이벤트를 발생시키지 않는 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>
자바 스크립트
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 위젯 요소에 dojo.query
으로 이벤트를 트리거하는 방법은 무엇입니까?
일부 위젯이 결합 이벤트를 결합 할 수있는 방법이 있습니까? 즉 동일한 클래스의 위젯이 공통 기능을 수행해야합니다. –
해결할 수있는 방법으로 답변을 업데이트했습니다. 그러나'.dijitRadio' selector를 사용하는 대신에'.buttons .dijitRadio' selector가 필요할 것입니다. – g00glen00b