javascript *** 作 textarea

javascript  *** 作 textarea,第1张

从网上拷贝一段代码给你

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的触发及解决、微信后台点击效果失效等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9640663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存