1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
---|
2 | |
---|
3 | <html> |
---|
4 | <head> |
---|
5 | <style type="text/css"> |
---|
6 | @import "../../resources/dojo.css"; |
---|
7 | </style> |
---|
8 | |
---|
9 | <script type="text/javascript" djConfig="isDebug: true" src="../../dojo.js"></script> |
---|
10 | |
---|
11 | <script type="text/javascript"> |
---|
12 | dojo.addOnLoad(function() { |
---|
13 | // Log of events on typer <input>, used by automated test harness |
---|
14 | events = []; |
---|
15 | |
---|
16 | kp1 = dojo.connect(dojo.byId("typer"), "onkeypress", function(evt){ |
---|
17 | |
---|
18 | // Keep log of events on <input>, skipping pressing of the control/shift/meta, since that's |
---|
19 | // browser dependent |
---|
20 | if(evt.keyCode == dojo.keys.CTRL || evt.keyCode == dojo.keys.SHIFT || evt.keyCode == dojo.keys.META){ |
---|
21 | return; |
---|
22 | } |
---|
23 | events.push(evt); |
---|
24 | |
---|
25 | console.log("1 onkeypress triggered: charOrCode: " + evt.charOrCode + ", keyChar: " + evt.keyChar + ", keyCode:" + evt.keyCode + ", charCode: " + evt.charCode + |
---|
26 | (evt.ctrlKey ? " ctrl" : "") + (evt.shiftKey ? " shift" : "")); |
---|
27 | |
---|
28 | // Use this because many keystrokes, like CTRL-B or F5, make the browser do things like refreshing the page |
---|
29 | dojo.stopEvent(evt); |
---|
30 | }); |
---|
31 | |
---|
32 | kp2 = dojo.connect(dojo.byId("typer"), "onkeypress", function(evt){ |
---|
33 | console.log("2 onkeypress triggered: keyCode: " + evt.keyCode + ", charCode: " + evt.charCode + " return: " + evt.returnValue); |
---|
34 | }); |
---|
35 | |
---|
36 | kd1 = dojo.connect(dojo.byId("typer"), "onkeydown", function(evt){ |
---|
37 | console.log("onkeydown: charOrCode: " + evt.charOrCode + ", keyChar: " + evt.keyChar + ", keyCode: " + evt.keyCode + ", charCode: " + evt.charCode); |
---|
38 | }); |
---|
39 | |
---|
40 | ku1 = dojo.connect(dojo.byId("typer"), "onkeyup", function(evt){ |
---|
41 | console.log("onkeyup: charOrCode: " + evt.charOrCode + ", keyChar: " + evt.keyChar + ", keyCode: " + evt.keyCode + ", charCode: " + evt.charCode); |
---|
42 | }); |
---|
43 | |
---|
44 | m1 = dojo.connect(dojo.byId("typer"), "onmouseenter", function(evt){ |
---|
45 | console.log("mousentered"); |
---|
46 | }); |
---|
47 | |
---|
48 | m2 = dojo.connect(dojo.byId("typer"), "onmouseleave", function(evt){ |
---|
49 | console.log("onmouseleave"); |
---|
50 | }); |
---|
51 | |
---|
52 | c1 = dojo.connect(dojo.byId("typer"), "onclick", function(evt){ |
---|
53 | console.log("onclick"); |
---|
54 | }); |
---|
55 | |
---|
56 | }); |
---|
57 | </script> |
---|
58 | </head> |
---|
59 | <body class="tundra"> |
---|
60 | <h1>onkeypress and disconnect test</h1> |
---|
61 | |
---|
62 | <p>This page tests the operation of keypress in a text input. Safari 3.1 changed its key model. |
---|
63 | Look in the console for log message about getting keypress events.</p> |
---|
64 | |
---|
65 | <p>This page also tests that we can dojo.disconnect correctly. Clicking on the Disconnect buttons |
---|
66 | should turn off the console logs associated with the matching connect calls.</p> |
---|
67 | |
---|
68 | <p>The input <input name="typer" type="text" id="typer" /></p> |
---|
69 | |
---|
70 | <p><button onclick="dojo.disconnect(kp1)">Disconnect first keypress</button> |
---|
71 | <button onclick="dojo.disconnect(kp2)">Disconnect second keypress</button></p> |
---|
72 | |
---|
73 | <p><button onclick="dojo.disconnect(kd1)">Disconnect keydown</button> |
---|
74 | <button onclick="dojo.disconnect(ku1)">Disconnect keyup</button></p> |
---|
75 | |
---|
76 | |
---|
77 | <p><button onclick="dojo.disconnect(m1)">Disconnect mouseentered</button> |
---|
78 | <button onclick="dojo.disconnect(m2)">Disconnect mouseleave</button></p> |
---|
79 | |
---|
80 | <p><button onclick="dojo.disconnect(c1)">Disconnect click</button></p> |
---|
81 | |
---|
82 | |
---|
83 | </body> |
---|
84 | </html> |
---|