| <html> |
| <head> |
| <script> |
| function test() { |
| var sl = document.getElementById('sl'); |
| sl.focus(); |
| document.execCommand("SelectAll"); |
| sl.scrollTop = 60; |
| mouseDownOnSelect("sl", 3, false, true); |
| } |
| |
| function mouseDownOnSelect(selId, index, shift, meta) { |
| var sl = document.getElementById(selId); |
| var itemHeight = 14; |
| var border = 1; |
| var y = border + index * itemHeight - window.pageYOffset; |
| var event = document.createEvent("MouseEvent"); |
| event.initMouseEvent("mousedown", true, true, document.defaultView, 1, sl.offsetLeft + border, sl.offsetTop + y, sl.offsetLeft + border, sl.offsetTop + y, false, false, shift, meta, 0, document); |
| sl.dispatchEvent(event); |
| } |
| </script> |
| </head> |
| <body onload="test()"> |
| This tests that deselecting an option won't cause unnecessary scrolling.<br> |
| <select id="sl" multiple="multiple" size="5"> |
| <option value="Accessibility">Accessibility</option> |
| <option value="CSS">CSS</option> |
| <option value="Drosera">Drosera</option> |
| <option value="Evangelism">Evangelism</option> |
| <option value="Forms">Forms</option> |
| <option value="Frames">Frames</option> |
| <option value="History">History</option> |
| <option value="HTML DOM">HTML DOM</option> |
| <option value="HTML Editing">HTML Editing</option> |
| <option value="Images">Images</option> |
| <option>SCROLL UP</option> |
| </select> |
| </body> |
| </html> |