往textarea中光标所在位置插入文本

来自于http://www.oschina.net/code/snippet_1780998_36843

$(".addFullIn").click( function () {
        $(".questionName").insertContent("( )");
    });
//$(".addFullIn")为点击按钮
//$(".questionName")为要插入的文本框
//insertContent("( )")括号内为要插入的内容
    (function ($) {
        $.fn.extend({
            insertContent: function (myValue, t) {
                var $t = $(this)[0];
                if (document.selection) { // ie
                    this.focus();
                    var sel = document.selection.createRange();
                    sel.text = myValue;
                    this.focus();
                    sel.moveStart(‘character‘, -l);
                    var wee = sel.text.length;
                    if (arguments.length == 2) {
                        var l = $t.value.length;
                        sel.moveEnd("character", wee + t);
                        t <= 0 ? sel.moveStart("character", wee - 2 * t
                                - myValue.length) : sel.moveStart(
                                "character", wee - t - myValue.length);
                        sel.select();
                    }
                } else if ($t.selectionStart
                        || $t.selectionStart == ‘0‘) {
                    var startPos = $t.selectionStart;
                    var endPos = $t.selectionEnd;
                    var scrollTop = $t.scrollTop;
                    $t.value = $t.value.substring(0, startPos)
                            + myValue
                            + $t.value.substring(endPos,
                                    $t.value.length);
                    this.focus();
                    $t.selectionStart = startPos + myValue.length;
                    $t.selectionEnd = startPos + myValue.length;
                    $t.scrollTop = scrollTop;
                    if (arguments.length == 2) {
                        $t.setSelectionRange(startPos - t,
                                $t.selectionEnd + t);
                        this.focus();
                    }
                } else {
                    this.value += myValue;
                    this.focus();
                }
            }
        })
})(jQuery);
时间: 2024-10-27 19:06:23

往textarea中光标所在位置插入文本的相关文章

EditText插入表情(字符串)到光标所在位置

获取EditText组件 [java] view plaincopy EditText etWeiboContent = (EditText) findViewById(R.id.et_content); 将表情转换成文本 [java] view plaincopy EmoticonsUtil mEmoticons = new EmoticonsUtil(this); CharSequence emoticonsText = mEmoticons.replace(mEmoticons.getEm

用js控制按钮时间,将指定内容添加到文本域的光标所在位置。

<pre class="javascript" name="code"> var fm = document.getElementsByTagName('form')[0]; var button = document.getElementsByName("button"); //获取一个cookie的值 function getCookie(index){ var allcookies = document.cookie; var

android EditText插入字符串到光标所在位置

EditText mTextInput=(EditText)findViewById(R.id.input);//EditText对象 int index = mTextInput.getSelectionStart();//获取光标所在位置 String text="I want to input str"; Editable edit = mTextInput.getEditableText();//获取EditText的文字 if (index < 0 || index &

获取contenteditable区域光标所在位置信息

在我们使用contenteditable编辑时,有时需要光标位置的信息. <div contenteditable="true" style="min-height: 200px; width: 100%;-webkit-user-select: auto"></div> <script> if(s.anchorNode.parentElement.localName == 'div'){ actClass = s.anchorN

WPF RichTextBox 如何滚动到光标所在位置、滚动条操作

1.获取当前滚动条位置 //获取当前滚动条位置 richTextBox.VerticalOffset; richTextBox.HorizontalOffset; //获取当前光标位置 richTextBox.CaretPosition 2.滚动到开始,结束,指定位置 // // 摘要: // 将编辑控件的视图设置为内容的末尾. public void ScrollToEnd(); // // 摘要: // 将编辑控件的 " 视图到视区的开头. public void ScrollToHome(

js 如何获取文本框中光标索引位置

function getTxt1CursorPosition(){ var oTxt1 = document.getElementById("txt1"); var cursurPosition=-1; if(oTxt1.selectionStart){//非IE浏览器 cursurPosition= oTxt1.selectionStart; }else{//IE var range = document.selection.createRange(); range.moveStar

2015.9.2 文本框中获取当前位置的所在行和列

int totalline = textBox1.GetLineFromCharIndex(textBox1.Text.Length) + 1;//得到总行数.该行数会随着文本框的大小改变而改变:若只认回车符为一行(不考虑排版变化)请用 总行数=textBox1.Lines.Length;(记事本2是这种方式) int index = textBox1.GetFirstCharIndexOfCurrentLine();//得到当前行第一个字符的索引 int line = textBox1.Get

TextArea中定位光标位置

原文:TextArea中定位光标位置 在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用"+"号来作为明细分隔符:1+1.5+2+3.4),如下图所示: 为了让输入更直观,需要在输入过程中,实时地显示汇总数量和合计:如果用户希望编辑文本中间的某条明细,也可以通过鼠标点击.或者键盘上的上下左右键来定位某个明细,并在页面上提示光标的焦点位置. 最开始,通过windows.event.x.windows.event.

textarea在光标位置插入文字

最近开发类似计算器界面,需要在textarea中编辑公式,涉及到 在光标位置插入 字符. 效果如下: + - * / 添加文字 html代码如下: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>hover demo</title> </head> <body> <texta