Вставка текста, где курсор использует Javascript/jquery

Во-первых, NaN - это «число» (да, я знаю, что это странно, просто катитесь с ним), а не «функция».

Вам нужно проверить, является ли тип переменной числом, и проверить целое число, я бы использовал модуль.

alert(typeof data === 'number' && data%1 == 0);
160
задан Click Upvote 30 June 2009 в 14:47
поделиться

3 ответа

Используйте это, из здесь :

 function insertAtCaret (areaId, text) {var txtarea = document.getElementById (areaId); если (! txtarea) {возврат; } var scrollPos = txtarea.scrollTop; вар strPos = 0; var br = ((txtarea.selectionStart || txtarea.selectionStart == '0')? "ff": (document.selection? "ie": false)); если (br == "то есть") {txtarea.focus (); var range = document.selection.createRange (); range.moveStart ('символ', -txtarea.value.length); strPos = range.text.length; } иначе, если (br == "ff") {strPos = txtarea.selectionStart; } var front = (txtarea.value) .substring (0, strPos); var back = (txtarea.value) .substring (strPos, txtarea.value.length); txtarea.value = лицевая сторона + текст + обратная сторона; strPos = strPos + text.length; если (br == "то есть") {txtarea.focus (); var ieRange = document.selection.createRange (); ieRange.moveStart ('символ', -txtarea.value.length); ieRange.moveStart ('персонаж', strPos); ieRange.moveEnd ('персонаж', 0); ieRange.select (); } иначе, если (br == "ff") {txtarea.selectionStart = strPos; txtarea.selectionEnd = strPos; txtarea.focus (); } txtarea.scrollTop = scrollPos; } 
   Щелкните здесь, чтобы вставить  
234
ответ дан 23 November 2019 в 21:29
поделиться

Я думаю, вы могли бы использовать следующий код JavaScript для отслеживания текстового поля с последним фокусом:

<script>
var holdFocus;

function updateFocus(x)
{
    holdFocus = x;
}

function appendTextToLastFocus(text)
{
    holdFocus.value += text;
}
</script>

Использование:

<input type="textbox" onfocus="updateFocus(this)" />
<a href="#" onclick="appendTextToLastFocus('textToAppend')" />

Предыдущее решение (props to gclaghorn) использует текстовое поле и вычисляет положение курсор тоже, так что это может быть лучше для того, что вы хотите. С другой стороны, этот был бы более легким, если это то, что вам нужно.

2
ответ дан 23 November 2019 в 21:29
поделиться

вы можете только сфокусировать нужное текстовое поле и вставить туда текст. нет способа узнать, где находится фокус AFAIK (возможно, взаимодействует по всем узлам DOM?).

проверьте этот stackoverflow - у него есть решение для вас: Как мне узнать, какой элемент DOM имеет фокус?

0
ответ дан 23 November 2019 в 21:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: