本文实例讲述了javascript实现获取及设置光标位置的方法。分享给大家供大家参考。具体如下:
在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下google,找到了在ie、firefox、opera等主流浏览器的获取光标位置(getcursortposition)以及设置光标位置(setcursorposition)的函数。
1. 获取光标位置函数:
function getcursortposition (ctrl) { var caretpos = 0; // ie support if (document.selection) { ctrl.focus (); var sel = document.selection.createrange (); sel.movestart ('character', -ctrl.value.length); caretpos = sel.text.length; } // firefox support else if (ctrl.selectionstart || ctrl.selectionstart == '0') caretpos = ctrl.selectionstart; return (caretpos);}
2. 设置光标位置函数:
function setcaretposition(ctrl, pos){ if(ctrl.setselectionrange) { ctrl.focus(); ctrl.setselectionrange(pos,pos); } else if (ctrl.createtextrange) { var range = ctrl.createtextrange(); range.collapse(true); range.moveend('character', pos); range.movestart('character', pos); range.select(); }}
希望本文所述对大家的javascript程序设计有所帮助。