我有可点击的div,里面有复选框。我想在点击复选框或父div后执行一些操作。
我找到了这个解决方案,但我认为这不是最好的方法。我不希望父元素上的事件反复出现。我在parentDivCheckBtn click-handler中获得了前一个复选框状态myCheckbox.get('checked')
,但在checkbox-handler中更改了复选框状态,此处理程序的代码非常相似。
function saveSettings(){
var valueCheckbox = !myCheckbox.get('checked');
valueCheckbox.set('checked', valueCheckbox );
myUtil.someAction();
}
myCheckbox.on('click', function(e){
var valueCheckbox = myCheckbox.get('checked');
myUtil.someAction();
e.cancelBubble = true;
e.stopPropagation();
});
var parentDivCheckBtn = $('#parentDivCheckBtn');
parentDivCheckBtn.on('click', function(event){
saveSettings();
});
是否存在任何使其简单明了的方法?
答案 0 :(得分:0)
您可以使用onChange事件作为复选框。
require(["dijit/form/CheckBox", "dojo/domReady!"], function(CheckBox){
var checkBox = new CheckBox({
name: "checkBox",
value: "agreed",
checked: false,
onChange: function(b){ alert('onChange called with parameter = ' + b + ', and widget value = ' + this.get('value') ); }
}, "checkBox").startup();
});