| 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 |