텍스트 서식을 지정할 수있는 모달 창이 있습니다. 창에 여러 텍스트 영역이 있습니다. 모달이 특정 텍스트 영역에 연결되어서는 안되기 때문에 모달 창에서 아이콘을 누르면 커서가있는 곳의 문자열/이모티콘 등을 삽입해야합니다. 내 질문, 어떤 요소 (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 또한 주어진 필드의 현재 커서 위치에 텍스트를 삽입하는 방법을 알려주는 this tutorial에 관심이있을 수 있습니다 (위의 방법을 사용하여 어떤 필드가 포커스되어 있는지 결정한 경우).
관련 문제
- 1. 문자열을 RichTextBox에 커서 위치에 삽입하십시오.
- 2. Android에서 커서 위치에 텍스트를 삽입하는 올바른 방법입니까?
- 3. UITextField의 커서 위치에 문자열 삽입
- 4. VB.NET 다른 창에서 커서 위치에 텍스트를 삽입하는 방법은 무엇입니까?
- 5. 현재 커서 위치가 무엇입니까?
- 6. <script> 태그 위치에 요소를 삽입하십시오.
- 7. 요소 커서 위치에 부착 - 스크롤
- 8. 텍스트 영역의 현재 캐럿 위치에 텍스트를 삽입하는 방법
- 9. 면도날 텍스트를 모델의 문자열에 삽입하십시오.
- 10. Photoshop을 자동화하여 파일의 텍스트를 삽입하십시오.
- 11. 기존 문서의 특정 위치에 XML 노드를 삽입하십시오.
- 12. 브라우저의 위치에 따라 요소의 배경을 변경하는 방법
- 13. 원하는 위치에 UITextField에 텍스트를 추가하십시오.
- 14. 커서가있는 위치에 텍스트를 어떻게 삽입합니까?
- 15. Google지도의 현재 위치에 마커 추가하기
- 16. 현재 위치에 대한 UIWebView 저장
- 17. 미리 포매팅 된 텍스트를 VS2008의 커서 위치에 붙여 넣는 방법은 무엇입니까?
- 18. jquery를 사용하여 html 텍스트 영역의 커서 위치에 텍스트를 삽입하는 방법에 대한 실제 예제가 필요합니까?
- 19. NOW() 또는 TIME()으로 현재 시간을 삽입하십시오.
- 20. Acrobat 버튼을 만들어 현재 날짜를 삽입하십시오.
- 21. 생성시 Excel 템플릿에 현재 날짜를 삽입하십시오.
- 22. vim에서 마우스를 사용하여 텍스트 덩어리를 선택하고 현재 커서 위치에 붙여 넣는 방법은 무엇입니까?
- 23. 커서 아래에서 텍스트를 선택하려면 자동 태그 키?
- 24. html 양식의 커서 부분에 텍스트를 삽입합니다.
- 25. 바닥 글은 브라우저의 크기가 조정 되더라도 고정 된 위치에 유지되어야합니다.
- 26. 모든 브라우저의 링크에서 동일한 커서 (손)를 얻는 방법은 무엇입니까?
- 27. 현재 위치에 대한 iPhone mapKit 주석
- 28. 현재 위치에 상대적으로 jquery에서 선택하는 방법?
- 29. 현재 커서 위치의 활성 모니터를 결정하는 방법
- 30. Jquery - 현재 커서 위치를 찾으려면 어떻게합니까