从网上拷贝一段代码给你
var setCursorPos = function( el, pos ) {
if( elcreateTextRange ) {
var rng = elcreateTextRange(); //新建textRange对象
rngmoveStart( 'character', pos ); //更改rng对象的开始位置
rngcollapse( true ); //光标移动到范围结尾
rngselect();//选中
elfocus();
} else if( elsetSelectionRange ) {
elfocus(); //先聚焦
elsetSelectionRange( pos , pos ); //设光标
}
}
以上是设置光标位置的函数, 要在光标位置插入文字用以下函数
function insertAtCursor(textarea, text) {
if (!textarea || !text) {
return;
}
if (documentselection) {
//IE
textareafocus();
sel = documentselectioncreateRange();
seltext = text;
} else if (textareaselectionStart || textareaselectionStart == '0') {
//Mozilla/Firefox
textareafocus();
var startPos = textareaselectionStart;
var endPos = textareaselectionEnd;
textareavalue = textareavaluesubstring(0, startPos) + text + textareavaluesubstring(endPos, textareavaluelength);
textareasetSelectionRange(endPos+textlength, endPos+textlength);
} else {
textareavalue += text;
}
}
用法
var el= documentgetElementById('text1');
insertAtCursor(el, 'test');
在firefox中 如果一个textarea获取焦点 在输入法激活的状态如果这时js将该textarea的value修改 那么该textarea会直接被清空 下面是具体的解决方法 遇到类似问题的朋友可以参考下
在firefox中 如果一个textarea获取焦点 在输入法激活的状态 比如搜狗输入法 敲入一个汉字的第一个拼音的时候 如果这个时候 后台js将该textarea的value修改 那么该textarea会直接被清空 如图 在这种状态 如果js修改textarea的值 就会触发该bug 如何解决这个问题? 经过多次尝试 发现只有在js修改value的时候 将该textarea 失去焦点 修改之后 再获取焦点即可 该bug同样适用于 input
复制代码 代码如下: lishixinzhi/Article/program/Java/JSP/201311/20235
微信后台点击效果失效原因:当 textarea 或 input 组件在获取焦点(focus)的状态下,左右滑动 iOS 底部“手势横线”切换至任意”B 应用“,之后再从“B 应用”再切换回“微信”时,会导致已获取焦点的 textarea、input 失焦,且键盘隐藏、无法再次获取焦点、无法拉起键盘。具体表现为设置 focus 属性为 true 时,无法自动拉起键盘。
以上就是关于javascript *** 作 textarea全部的内容,包括:javascript *** 作 textarea、火狐textarea输入法的bug的触发及解决、微信后台点击效果失效等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)