我该怎么做:用JavaScript选择一个段落(点击)?
是否可以使用JavaScript选择所有文本作为元素(例如,段落
)? 很多人认为jQuery .select()
会这样做,但事实并非如此。 它只是触发一个事件。 请注意, 元素的DOM对象具有本机
select()
方法,但大多数其他元素(例如和
)则不具有。
(我是否需要使用content-editable
才能使其正常工作?)
如果您需要支持以后的浏览器,即IE9 +,您可以使用以下http://jsfiddle.net/q04jp0qx/2/
var range = document.createRange(); var selection = window.getSelection(); range.selectNodeContents(document.getElementById('p')); selection.removeAllRanges(); selection.addRange(range);
相关链接:
- 规范: http : //www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents
- http://help.dottoro.com/ljcpcpnt.php
- https://developer.mozilla.org/en-US/docs/Web/API/range.selectNodeContents
- https://developer.mozilla.org/en-US/docs/Web/API/Selection.addRange
有关所有浏览器的支持,请参阅https://github.com/timdown/rangy , url为https://stackoverflow.com/users/96100/tim-down
select()
只适用于和
元素……
是的,您将不得不使用:
contenteditable="true"
并使用.focus()
选择所有文本。
试试这个:
Your Text Here
JSFiddle演示