Updated
This commit is contained in:
92
master/examples/_Widget-on.html
Normal file
92
master/examples/_Widget-on.html
Normal file
@@ -0,0 +1,92 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
||||
<title>_Widget on() test</title>
|
||||
<style type="text/css">
|
||||
@import "../themes/claro/document.css";
|
||||
@import "../themes/claro/claro.css";
|
||||
@import "css/dijitTests.css";
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" src="../../dojo/dojo.js"
|
||||
data-dojo-config="isDebug: true"></script>
|
||||
<script>
|
||||
dojo.require("doh.runner");
|
||||
dojo.require("dojo.parser");
|
||||
dojo.require("dojo.on");
|
||||
dojo.require("dojo._base.declare");
|
||||
dojo.require("dijit._Widget");
|
||||
dojo.require("dijit.registry");
|
||||
|
||||
|
||||
dojo.ready(function(){
|
||||
var mousedOver, clicked;
|
||||
|
||||
doh.register("on", [
|
||||
function setup(){
|
||||
dojo.declare("MyWidget", [dijit._Widget], {
|
||||
postCreate: function(){
|
||||
dojo.on(this.domNode, "click", dojo.hitch(this, "onFooBar"));
|
||||
},
|
||||
onFooBar: function(){
|
||||
// This is called whenever the widget is clicked
|
||||
},
|
||||
foobar: function(){
|
||||
// A widget.on("foobar") should go to onFooBar() (above), not here
|
||||
}
|
||||
});
|
||||
|
||||
dojo.parser.parse();
|
||||
},
|
||||
|
||||
function connect(){
|
||||
// This should work despite the fact that the function onMouseOver has
|
||||
// multiple capital letters
|
||||
dijit.registry.byId("myWidget").on("mouseover", function(){
|
||||
mousedOver = true;
|
||||
console.log("mouseover event");
|
||||
});
|
||||
|
||||
// Likewise, this should work despite the fact that the function onFooBar has
|
||||
// multiple capital letters
|
||||
dijit.registry.byId("myWidget").on("foobar", function(){
|
||||
clicked = true;
|
||||
console.log("click event");
|
||||
});
|
||||
},
|
||||
|
||||
function test(){
|
||||
var myWidget = dijit.registry.byId("myWidget");
|
||||
|
||||
// Test that _Widget.on() catches click event
|
||||
doh.f(clicked, "clicked");
|
||||
dojo.on.emit(myWidget.domNode, "click", {
|
||||
bubbles: true,
|
||||
cancelable: true,
|
||||
which: 1
|
||||
});
|
||||
doh.t(clicked, "clicked");
|
||||
|
||||
// Test that _Widget.on() catches mouseover event
|
||||
doh.f(mousedOver, "mousedOver");
|
||||
dojo.on.emit(myWidget.domNode, "mouseover", {
|
||||
bubbles: true,
|
||||
cancelable: true,
|
||||
which: 1
|
||||
});
|
||||
doh.t(mousedOver, "mousedOver");
|
||||
}
|
||||
]);
|
||||
|
||||
doh.run();
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body class="claro">
|
||||
<div id="myWidget" data-dojo-type="MyWidget">
|
||||
mouseover and click events to console
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user