JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css">
JavaScript
dojo.require('dijit.form.Form');
dojo.require('dijit.form.Button');
dojo.ready(function() {
dojo.declare('kgf.dijit.TestForm', dijit.form.Form, {
_onSubmit: function(evt) {
console.log('_onSubmit before:', evt);
var r = this.inherited(arguments);
console.log('_onSubmit:', evt);
return r;
}
});
dojo.declare('kgf.dijit.TestButton', dijit.form.Button, {
_onClick: function(evt) {
var r = this.inherited(arguments);
console.log('_onClick:', evt, r);
return r;
}
});
var
f = new kgf.dijit.TestForm({}).placeAt(dojo.body()),
b = new kgf.dijit.TestButton({
label:'submit', type:'submit'}).placeAt(f.domNode);
dojo.addClass(dojo.body(), 'claro');
b.onClick =
function(evt) {
dojo.stopEvent(evt);
console.log('caught click!', evt);
//return false;
};
f.onSubmit =
function(evt) {
dojo.stopEvent(evt);
console.log('caught submit!', evt);
};
b.connect(b.valueNode, 'onclick', function(evt) {
console.log('valueNode clicked!', evt);
//dojo.stopEvent(evt); //would also prevent submit,
//but I would much sooner return false from onClick as intended;
//don't know what other adverse effects doing so here might have...
});
});