我想将光标在 id="get" 的输入字段中的位置设置为另一个 id="no" 的输入字段中的指定值。当我用 id="no" 向输入字段输入值时它可以工作,但是当我用 id="get" 向输入字段输入值时它不起作用(仅在 safari 中)。在 IE/Firefox/Opera 中一切正常。各位高手,这是什么原因??这是我的代码:
<script>
function setCaretPosition(ctrl, pos) {
if(ctrl.setSelectionRange) {
setTimeout(function(){ctrl.focus();},1);
ctrl.setSelectionRange(pos,pos);
}
}
function process1() {
var no = document.getElementById('no').value;
setCaretPosition(document.getElementById('get'), no);
}
function process2(v) {
var no = document.getElementById('no').value;
setCaretPosition(v, no);
//setCaretPosition(document.getElementById('get'), no);
}
</script>
<input size="150" id="get" oninput="process2(this);" value="Please write some integer in the textbox given below and press Set Position button." /><br>
Enter Caret Position: <input oninput='process1();' value="3" id="no" size="1" type="text">