0
我想有從按鈕改變CSS類「主動」基於表單是否有效與否形態改變事件
所以我有這個聲明位「無效」 ......
<form data-dojo-type="dijit/form/Form" id="myForm" action="http://somthing">
<script type="dojo/on" data-dojo-event="change" data-dojo-args="e">
// for some reason change returns dom object not dijit object....
var self = dijit.byId(this.id);
require([ 'dojo/dom-class' ], function (domClass) {
var tmp, on = 'active' , off = 'inactive';
if (self.get('state')) {
// invalid
tmp = off; off=on; on=tmp;
}
domClass.replace('complete', on, off);
});
</script>
..rest of form and submit button with id='complete' is here.
該腳本旨在根據表單是否有效更改提交按鈕的類別。我的第一個問題是,爲什麼這個例程將DOM對象取爲this
而不是Dijit對象,因爲這些示例似乎暗示我應該獲取後者。我的第二個問題是我是否應該以更好的方式做到這一點?
是的,我得到的印象是,我有時會試着吞下整個道場哲學的鉤線和沉降片,當有可能是一個更簡單的方法。從這些例子中,我預計會得到更高層次的事件。例如,你給出的頁面通過'dojo/on'獲取'submit'事件,並且期望'this'是Dojo對象,而不是DOM對象,調用'this.validate()' – vogomatix
我的團隊和我從來沒有使用dojo/on