<html> <head> <style> textarea { -webkit-appearance: textarea;} </style> <script> function log(msg) { document.getElementById('res').innerHTML = document.getElementById('res').innerHTML + msg + "<br>"; } function test() { if (window.testRunner) testRunner.dumpAsText(); var ta = document.getElementById('ta'); log('Calling focus on textarea'); ta.focus(); log('After focus: textarea selection start: ' + ta.selectionStart + ' end: ' + ta.selectionEnd + '<br>'); log('Calling setSelectionRange on textarea'); ta.setSelectionRange(5, 10); log('After setSelectionRange(5, 10): textarea selection start: ' + ta.selectionStart + ' end: ' + ta.selectionEnd + '<br>'); log('Double clicking to make selection for textarea'); if (window.eventSender) { eventSender.mouseMoveTo(75, 55); eventSender.mouseDown(); eventSender.mouseUp(); eventSender.mouseDown(); eventSender.mouseUp(); } log('After double clicking: textarea selection start: ' + ta.selectionStart + ' end: ' + ta.selectionEnd + '<br>'); log('Calling blur on textarea'); ta.blur(); log('After blur: textarea selection start: ' + ta.selectionStart + ' end: ' + ta.selectionEnd + '<br>'); log('Calling focus on textarea'); ta.focus(); log('After focus: textarea selection start: ' + ta.selectionStart + ' end: ' + ta.selectionEnd); } </script> </head> <body onload="test()"> <br> This tests onSelect for textareas. <br> This also makes sure that the correct selection is restored when the element regains focus.<br><br> <textarea id="ta" onselect="log('onselect fired for textarea');" style="position: absolute; top: 50; left: 10;">textarea with lots of fun content!</textarea> <div id="res" style="position: absolute; top: 100; left: 10;"></div> </body> </html>