DIV의 DOM 노드 및 텍스트 선택
3309 단어 div
/**
* @description 。
* el{DOMElement} 。
* text , el text 。
* @author shawn
*/
function selectDomText(el,text) {
if(!el)
return;
if(text){
if(/MSIE ([^;]+)/.test(navigator.userAgent)){
var range = document.body.createTextRange();
range.moveToElementText(el);
var found = range.findText(text);
if(found){
range.execCommand('selectAll');
}
}else{
var t = el.firstChild;
if(t && t.nodeType == 3){
var range = document.createRange();
var str = t.nodeValue;
range.selectNode(t);
var idx = str.indexOf(text);
if(idx != -1){
var selObj = window.getSelection();
selObj.removeAllRanges();
range.setStart(t,idx);
range.setEnd(t,idx + text.length);
selObj.addRange(range);
}
}
}
}else{
if (window.getSelection) { // all browsers, except IE before version 9
var selection = window.getSelection ();
selection.selectAllChildren (el);
} else { // Internet Explorer before version 9
var range = document.body.createTextRange ();
range.moveToElementText (el);
range.select();
}
}
}
/**
* , body/input/textarea 。
*/
function getSelText(){
var selText = "";
if (window.getSelection) { // all browsers, except IE before version 9
if (document.activeElement &&
(document.activeElement.tagName.toLowerCase () == "textarea" ||
document.activeElement.tagName.toLowerCase () == "input"))
{
var text = document.activeElement.value;
selText = text.substring (document.activeElement.selectionStart,
document.activeElement.selectionEnd);
}
else {
var selRange = window.getSelection ();
selText = selRange.toString ();
}
}
else {
if (document.selection.createRange) { // Internet Explorer
var range = document.selection.createRange ();
selText = range.text;
}
}
return selText;
}
//
function selectText(textbox, startIndex, stopIndex){
if (textbox.setSelectionRange){
textbox.setSelectionRange(startIndex, stopIndex);
} else if (textbox.createTextRange){
var range = textbox.createTextRange();
range.collapse(true);
range.moveStart(“character”, startIndex);
range.moveEnd(“character”, stopIndex - startIndex);
range.select();
}
textbox.focus();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
🧙🏼 HTML 구조를 나타내는 요소: 컨텐츠 분할 요소 : 블록 레벨 요소 : 플로우 콘텐츠를 위한 통용 컨테이너 (순수 컨테이너로서 아무것도 표현안함) : 인라인 컨테이너 : 인라인 레벨 요소 🌵 span (인라인 요소) vs div(블록 요소) ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.