在一般的程序中.程序員做輸入框內(nèi)容正確性檢測時一般喜歡通過判斷內(nèi)容的合法性來確定焦點(diǎn)框.
如:
復(fù)制代碼 代碼如下:
if(obj.value==""){
obj.focus();
return false;
}
那就是obj.focus()將焦點(diǎn)移動到輸入框后,會將文字光標(biāo)(就是一閃一閃的豎線)移動到這個輸入框的第一個字符的位置...就上面的判斷而言..如果文本框中沒有內(nèi)容..obj.focus正好可以滿足我們直接在文本框中輸入內(nèi)容而不用點(diǎn)擊一下文本框以使文本有焦點(diǎn)...
但是,如果文本框中已經(jīng)有內(nèi)容了..但是這個內(nèi)容不合法.obj.focus()同樣的將光標(biāo)移動到了這個文本框的第一個字符的位置..這時就會讓注意用戶體驗(yàn)的設(shè)計(jì)師郁悶了...我們需要的是文本框得到焦點(diǎn),然后文字光標(biāo)移動到文本框的最后,讓用戶可以不用點(diǎn)擊文本框直接輸入內(nèi)容..輸入的內(nèi)容會在原來的內(nèi)容的后面追加起來..
下面的代碼可以完成這個小細(xì)節(jié):
復(fù)制代碼 代碼如下:
<script language="javascript">
function getSelectPos(obj){
var esrc = document.getElementById(obj);
if(esrc==null){
esrc=event.srcElement;
}
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('character',esrc.value.length);
rtextRange.collapse(true);
rtextRange.select();
}
</script>
新聞熱點(diǎn)
疑難解答
圖片精選