OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script> | 3 <script> |
4 function setup() | 4 function setup() |
5 { | 5 { |
6 var results = document.createElement('div'); | 6 var results = document.createElement('div'); |
7 results.id = "res"; | 7 results.id = "res"; |
8 results.appendChild(document.createTextNode("Results:")); | 8 results.appendChild(document.createTextNode("Results:")); |
9 document.body.appendChild(results); | 9 document.body.appendChild(results); |
10 } | 10 } |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 function mouseDownOnSelect(selId, index, shift, metaOrCtrl) | 123 function mouseDownOnSelect(selId, index, shift, metaOrCtrl) |
124 { | 124 { |
125 var meta = false; | 125 var meta = false; |
126 var ctrl = false; | 126 var ctrl = false; |
127 if (metaOrCtrl) { | 127 if (metaOrCtrl) { |
128 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) | 128 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) |
129 meta = true; | 129 meta = true; |
130 else | 130 else |
131 ctrl = true; | 131 ctrl = true; |
132 } | 132 } |
| 133 var modifiers = []; |
| 134 if (shift) |
| 135 modifiers.push("shiftKey"); |
| 136 if (meta) |
| 137 modifiers.push("metaKey"); |
| 138 if (ctrl) |
| 139 modifiers.push("ctrlKey"); |
133 var sl = document.getElementById(selId); | 140 var sl = document.getElementById(selId); |
134 var itemHeight = 14; | 141 var option = sl.options[index]; |
135 var border = 1; | 142 eventSender.mouseMoveTo(option.offsetLeft, option.offsetTop); |
136 var y = border + index * itemHeight - window.pageYOffset; | 143 eventSender.mouseDown(0, modifiers); |
137 var event = document.createEvent("MouseEvent"); | |
138 event.initMouseEvent("mousedown", true, true, document.defaultVi
ew, 1, sl.offsetLeft + border, sl.offsetTop + y, sl.offsetLeft + border, sl.offs
etTop + y, ctrl, false, shift, meta, 0, document); | |
139 sl.dispatchEvent(event); | |
140 } | 144 } |
141 | 145 |
142 function mouseUpOnSelect(selId, index, shift, metaOrCtrl) | 146 function mouseUpOnSelect(selId, index, shift, metaOrCtrl) |
143 { | 147 { |
144 var meta = false; | 148 var meta = false; |
145 var ctrl = false; | 149 var ctrl = false; |
146 if (metaOrCtrl) { | 150 if (metaOrCtrl) { |
147 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) | 151 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) |
148 meta = true; | 152 meta = true; |
149 else | 153 else |
150 ctrl = true; | 154 ctrl = true; |
151 } | 155 } |
| 156 var modifiers = []; |
| 157 if (shift) |
| 158 modifiers.push("shiftKey"); |
| 159 if (meta) |
| 160 modifiers.push("metaKey"); |
| 161 if (ctrl) |
| 162 modifiers.push("ctrlKey"); |
152 var sl = document.getElementById(selId); | 163 var sl = document.getElementById(selId); |
153 var itemHeight = 14; | 164 var itemHeight = 14; |
154 var border = 1; | 165 var border = 1; |
155 var y = border + index * itemHeight - window.pageYOffset; | 166 var option = sl.options[index]; |
156 var event = document.createEvent("MouseEvent"); | 167 eventSender.mouseMoveTo(option.offsetLeft, option.offsetTop); |
157 event.initMouseEvent("mouseup", true, true, document.defaultView
, 1, sl.offsetLeft + border, sl.offsetTop + y, sl.offsetLeft + border, sl.offset
Top + y, ctrl, false, shift, meta, 0, document); | 168 eventSender.mouseUp(0, modifiers); |
158 sl.dispatchEvent(event); | |
159 } | 169 } |
160 | 170 |
161 function keyDownOnSelect(selId, identifier, shift, metaOrCtrl) | 171 function keyDownOnSelect(selId, identifier, shift, metaOrCtrl) |
162 { | 172 { |
163 modifiers = []; | 173 modifiers = []; |
164 if (shift) | 174 if (shift) |
165 modifiers[0] = "shiftKey"; | 175 modifiers[0] = "shiftKey"; |
166 if (metaOrCtrl) { | 176 if (metaOrCtrl) { |
167 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) | 177 if (navigator.userAgent.search(/\bMac OS X\b/) != -1) |
168 modifiers[modifiers.length] = "metaKey"; | 178 modifiers[modifiers.length] = "metaKey"; |
169 else | 179 else |
170 modifiers[modifiers.length] = "controlKey"; | 180 modifiers[modifiers.length] = "ctrlKey"; |
171 } | 181 } |
172 | 182 |
173 document.getElementById(selId).focus(); | 183 document.getElementById(selId).focus(); |
174 eventSender.keyDown(identifier, modifiers); | 184 eventSender.keyDown(identifier, modifiers); |
175 } | 185 } |
176 | 186 |
177 function getSelectedOptions(selId) | 187 function getSelectedOptions(selId) |
178 { | 188 { |
179 result = new Array; | 189 result = new Array; |
180 var sl = document.getElementById(selId); | 190 var sl = document.getElementById(selId); |
(...skipping 12 matching lines...) Expand all Loading... |
193 </head> | 203 </head> |
194 <body onload="test()"> | 204 <body onload="test()"> |
195 <select id="sl1" size=5 multiple onchange="log('onChange fired')"> | 205 <select id="sl1" size=5 multiple onchange="log('onChange fired')"> |
196 <option selected value="0">item 0</option> | 206 <option selected value="0">item 0</option> |
197 <option value="1">item 1 | 207 <option value="1">item 1 |
198 <option value="2">item 2 | 208 <option value="2">item 2 |
199 <option value="3">item 3 | 209 <option value="3">item 3 |
200 </select> | 210 </select> |
201 </body> | 211 </body> |
202 </html> | 212 </html> |
OLD | NEW |