LINUX.ORG.RU

Возможность перемещения указателя по <div> - ExtJS

 , ,


0

1

Есть <div> элемент с определенным текстом.

Как выполнить перемещение указателя к соответствующей букве <div> в ExtJS?

Пример на Javascript не работает в ExtJS:

<html> <head> <title>set cursor position N10</title> <meta http-equiv=«Content-Type» content=«text/html; charset=iso-8859-1»> <script type=«text/javascript»> function focusPackageCode(id) { var node = document.querySelector('div#' + id + 'word'); node.focus(); var textNode = node.firstChild; var caret = 10; var range = document.createRange(); range.setStart(textNode, caret); range.setEnd(textNode, caret); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } </script> </head> <body> <div id=«packagecode1word» name=«packagecode1word» contenteditable=«true»>set cursor position N10</div> <p align=«center» onClick=«focusPackageCode('packagecode1');»>Set</p> </body> </html>

Как видите функция работает в Javascript но не в ExtJS. Когда я кликаю на кнопку «Set» указатель в «<div>» перемещается к букве номер 10.

Но когда пытаюсь выполнить эту функцию в ExtJS не работает:

increaseIndex: 0,

this.increaseIndex++;

nodeScriptFunction.appendChild( doc.createTextNode( 'function focusPackageCode' + this.increaseIndex + "(id){var node = document.querySelector('div#'+id+'word');node.focus();var textNode = node.firstChild;var caret = 10;var range = document.createRange();range.setStart(textNode, caret);range.setEnd(textNode, caret);var sel = window.getSelection();sel.removeAllRanges();sel.addRange(range);}" ) );

nodeName.setAttribute('onClick','focusPackageCode' + this.increaseIndex + '(this.id);');

nodeText.setAttribute('id','packagecode' + this.increaseIndex + 'word'); nodeText.setAttribute('contenteditable','true');

Когда я кликаю на кнопку 'onClick' появляется такая ошибка:

Uncaught TypeError: Failed to execute 'setStart' on 'Range': parameter 1 is not of type 'Node'.

Я исправил эту проблему. Все очень было простой

volodjavolodja85
() автор топика

Что за бот?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.