1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Test Dijit Internal Event: "ondijitclick"</title>
- <script type="text/javascript" src="../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
- <script type="text/javascript">
- dojo.require("doh.runner");
- dojo.require("dijit._Widget");
- dojo.require("dojo.parser");
- dojo.declare("dijit.WidgetWithOndijitclick",
- dijit._Widget,
- {
- clickCount: 0,
- _onClick: function() {
- this.clickCount++;
- },
- postCreate: function() {
- this.connect(this.domNode, "ondijitclick", "_onClick");
- }
- }
- );
- dojo.addOnLoad(function(){
- doh.register("ondijitclick",
- [
- {
- name: "ondijitclick fires once on a space-key-up",
- runTest: function(t){
- var w = dijit.byId("widget1");
- if (dojo.isSafari){ // safari has error
- this.name += " * SKIPPED *";
- return;
- }
- // simulate space up
- if (document.createEvent){
- var e = document.createEvent("KeyboardEvent");
- e.initKeyEvent("keyup",true,true,null,false,false,false,false,32,0);
- w.domNode.focus();
- w.clickCount = 0;
- w.domNode.dispatchEvent(e);
- t.is(1, w.clickCount);
- }
- }
- },
- {
- name: "ondijitclick fires once on an enter-key-down",
- runTest: function(t){
- var w = dijit.byId("widget1");
- if (dojo.isSafari){ // safari has error
- this.name += " * SKIPPED *";
- return;
- }
- // simulate enter down
- if (document.createEvent && !dojo.isSafari){
- var e = document.createEvent("KeyboardEvent");
- e.initKeyEvent("keydown",true,true,null,false,false,false,false,13,0);
- w.domNode.focus();
- w.clickCount = 0;
- w.domNode.dispatchEvent(e);
- t.is(1, w.clickCount);
- }
- }
- },
- {
- name: "ondijitclick fires once on a mouse click",
- runTest: function(t){
- var w = dijit.byId("widget1");
- // simulate enter up
- if (document.createEvent){
- var e = document.createEvent("MouseEvents");
- e.initMouseEvent('click', true, true, document.defaultView, 1, 0, 0, 3, 3, false, false, false, false, 0, w.domNode);
- w.clickCount = 0;
- w.domNode.dispatchEvent(e);
- t.is(1, w.clickCount);
- }
- }
- }
- ]
- );
- doh.run();
- });
- </script>
- </head>
- <body class="tundra">
- <div id="widget1" dojoType="dijit.WidgetWithOndijitclick"></div>
- </body>
- </html>
|