栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript在html文本框中设置键盘插入符的位置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript在html文本框中设置键盘插入符的位置

摘自Josh Stodola的使用Javascript在Textbox或textarea中设置键盘插入符号的位置

通用功能,可让您在所需的文本框或文本区域的任何位置插入插入符号:

function setCaretPosition(elemId, caretPos) {    var elem = document.getElementById(elemId);    if(elem != null) {        if(elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select();        }        else { if(elem.selectionStart) {     elem.focus();     elem.setSelectionRange(caretPos, caretPos); } else     elem.focus();        }    }}

第一个预期参数是您希望插入键盘插入符号的元素的ID。如果找不到该元素,则不会发生任何事情(显然)。第二个参数是插入号位置索引。零将把键盘插入符号放在开头。如果您传递的数字大于elements值中的字符数,它将把键盘插入符号放在最后。

在IE6及更高版本,Firefox 2,Opera8,Netscape9,SeaMonkey和Safari上进行了测试。不幸的是,在Safari上,它无法与onfocus事件结合使用。

使用上述功能强制键盘插入符号在获得焦点时跳至页面上所有文本区域的末尾的示例:

function addLoadEvent(func) {    if(typeof window.onload != 'function') {        window.onload = func;    }    else {        if(func) { var oldLoad = window.onload; window.onload = function() {     if(oldLoad)  oldLoad();     func(); }        }    }}// The setCaretPosition function belongs right here!function settextareasonFocus() {    var textareas = document.getElementsByTagName('textarea');    for(var i = 0; i < textareas.length; i++) {        textareas[i].onfocus = function() { setCaretPosition(this.id, this.value.length);        }    }    textareas = null;}addLoadEvent(settextareasOnFocus);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号