select.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. function select(element) {
  2. var selectedText;
  3. if (element.nodeName === 'SELECT') {
  4. element.focus();
  5. selectedText = element.value;
  6. }
  7. else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
  8. var isReadOnly = element.hasAttribute('readonly');
  9. if (!isReadOnly) {
  10. element.setAttribute('readonly', '');
  11. }
  12. element.select();
  13. element.setSelectionRange(0, element.value.length);
  14. if (!isReadOnly) {
  15. element.removeAttribute('readonly');
  16. }
  17. selectedText = element.value;
  18. }
  19. else {
  20. if (element.hasAttribute('contenteditable')) {
  21. element.focus();
  22. }
  23. var selection = window.getSelection();
  24. var range = document.createRange();
  25. range.selectNodeContents(element);
  26. selection.removeAllRanges();
  27. selection.addRange(range);
  28. selectedText = selection.toString();
  29. }
  30. return selectedText;
  31. }
  32. module.exports = select;