하이 계위, 값이없는 텍스트 상자에 길이 14의 위치에 커서를 설정하고 싶습니다. 처음에는 커서가 0이됩니다. 14커서를 텍스트 상자의 14 onfocus 길이로 설정하십시오.
답변
IE는 Firefox, Opera 및 Chrome보다 커서 위치를 설정할 때 다른 접근 방식을 사용합니다. 도우미 기능을 만드는 것이 좋습니다. 그러면 도움이 될 것입니다. 나는 이것을 자신의 필요에 사용한다.
function setCursor(node,pos){
node = (typeof node == "string" || node instanceof String) ? document.getElementById(node) : node;
if(!node){
return false;
}else if(node.createTextRange){
var textRange = node.createTextRange();
textRange.collapse(true);
textRange.moveEnd(pos);
textRange.moveStart(pos);
textRange.select();
return true;
}else if(node.setSelectionRange){
node.setSelectionRange(pos,pos);
return true;
}
return false;
}
마지막으로 onfocus 핸들러에서 호출하는 것입니다.
Goodluck
$("#textbox").selectionStart=14
힘이 파이어 폭스, 오페라, 크롬 작동에 수 있지만 PS
IE
에 대한 확실하지 : 제대로 작동하려면 텍스트 상자에 14> 자 이미 길이가 있어야합니다.마스크 편집 텍스트 상자를 사용합니다 ... –
텍스트 상자가 비어있는 것으로 표시하는 것은 해결책이 있습니까 –
네, 입력 상자와 텍스트 영역에 대해, 당신이 서식있는 텍스트 상자 인 경우, 그다지 잘 모르겠습니다. 미안합니다. – YOU
moveStart 및 moveEnd 메소드에는 2 개의 매개 변수가 필요합니다. 첫 번째 매개 변수는 문자열 (문자, 단어, 문장 또는 텍스트 편집기)입니다. 두 번째 매개 변수는 정수이며 이동할 단위 수를 나타냅니다. http://msdn.microsoft.com/en-us/library/ie/ms536623%28v=vs.85%29.aspx
커서가 아니라 캐럿이라고 생각합니다. –