我有一個模式窗口幫助格式化文本。 我在窗口上有多個textareas。 該模式不應該附加到特定的textarea,所以當我在模式窗口中按下圖標時,我需要插入一個字符串/表情符號等 - 永遠光標當前。 我的問題,我如何知道光標目前在哪個元素(textarea/input/whatever)中?在瀏覽器的光標當前位置插入文本
3
A
回答
3
所有瀏覽器的最新版本都支持document.activeElement。這將告訴你哪個字段當前有焦點在該窗口內(這是光標所在的位置)。然後,您需要知道如何在當前光標位置插入文本。以下功能就是這樣做的。
// Author: http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript
// Modified so it's safe across browser windows
function insertAtCursor(myField, myValue) {
var doc = myField.ownerDocument;
//IE support
if (doc.selection) {
myField.focus();
sel = doc.selection.createRange();
sel.text = myValue;
}
//FF, hopefully others
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos) +
myValue + myField.value.substring(endPos, myField.value.length);
}
// fallback to appending it to the field
else {
myField.value += myValue;
}
}
因此,從彈出菜單中,你的按鈕處理程序應該調用下面的方法
// Pardon my contrived function name
function insertTextIntoFocusedTextFieldInOpener(text) {
var field = window.opener.document.activeElement;
if (field.tagName == "TEXTAREA" || (field.tagName == "INPUT" && field.type == "text") {
insertAtCursor(field, text);
}
}
0
似乎沒有像isfocused
這樣的屬性,您只需檢查以確定某個特定文本字段是否具有焦點。但是,您可以爲每個文本框創建onFocus
事件的事件處理程序,並讓它將新聚焦的文本框的ID記錄在變量中,以便稍後進行檢查。
此外,您可能會對this tutorial感興趣,它會告訴您如何在給定字段內的當前光標位置插入文本(例如,使用上述方法確定了哪個字段已聚焦後)。
相關問題
- 1. 在文本中的光標位置插入文本輸入
- 2. 在當前光標位置插入空格
- 3. 在記事本++插件中獲取當前光標位置
- 4. Word插入文件在光標位置
- 5. (IE6)將內容插入當前光標位置處的iframe
- 6. 將文本插入到光標位置的文本框中VB
- 7. 在光標所在的位置使用Javascript插入文本/ jquery
- 8. 在contentEditable div中設置光標位置 - 跨瀏覽器
- 9. 移動光標在Android網頁瀏覽器輸入文本
- 10. 如何在文本區的當前插入位置插入文本
- 11. 如何在Word中的光標位置插入文本?
- 12. jQuery的插入文本光標所在位置
- 13. 如何在uitextview中的任何光標位置插入文本?
- 14. 在Embarcadero Tools API的光標位置插入文本
- 15. 在光標位置插入RichTextEditor中的文本
- 16. 如何獲取當前文本部件的光標位置
- 17. 使用htmleditorextender查找文本框的當前光標位置
- 18. 在光標位置插入Word形狀
- 19. 在光標位置插入笑臉
- 20. 在當前腳本標籤位置插入iframe?
- 21. JS - 如何獲取節點開頭和當前插入符(文本光標)位置之間的文本?
- 22. 編輯文本行號和當前行光標位置。
- 23. 如何在光標位置插入文本在Wysihtml5-沙盒編輯器
- 24. 問題在將文本插入光標位置的文本區域時
- 25. 當前位置在所有的瀏覽器代碼?
- 26. 獲取當前鍵盤光標位置
- 27. Java粘貼到當前光標位置
- 28. CONTENTEDITABLE文本編輯器,光標位置
- 29. 當前查看範圍或光標位置的MS Word插件
- 30. IE瀏覽器以獲得光標位置