代わりのCSSを追加しようとしましたがネイティブsetSelectionRangeはこの関数を使用します:
実際に
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
var isChrome = !!window.chrome && !!window.chrome.webstore;
if (isChrome){
input.style.textIndent = "-1000px";
input.onblur =function(){
input.style.textIndent = "0px";
};
window.setTimeout(function() {
input.setSelectionRange(selectionStart, selectionEnd);
}, 0);
}else
input.setSelectionRange(selectionStart, selectionEnd);
}else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
compabilityの問題は、クローム39に固定バグです。 ので、代わりの:
input.onclick = function(){
this.setSelectionRange(this.value.length,this.value.length)
}
あなたが使用します。
input.onclick = function(){
setSelectionRange(this,this.value.length,this.value.length)
}
は、ここで私がテストしてみたfiddleです。
が見て持っているが見つかりました:http://stackoverflow.com/questions/11723420/chrome-setselectionrange-not-work-in-oninput-handler –
@をMagicprog.frの動作は私の例と同じ –