Javascript鼠标开始位置

时间:2014-07-01 11:24:59

标签: javascript asp.net-mvc ckeditor

我在asp.net mvc中使用CkEditor。

查看:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="~/Content/ckeditor/ckeditor.js"></script>

@Html.TextArea("editor", new { @class = "ckeditor", @id = "aboutme" })

<button type="submit" class="btn btn-primary" id="AddText">Add Text</button>

如果我点击按钮,我想在鼠标点击的Html.Textarea里面设置任何文字。

例如,

我在TextArea中有一个值

My Name İs xxxx

如果我点击&#34; 我的&#34;和&#34; 名称&#34;如果我点击按钮,我想在上面的 我的名称之间设置值(文字)

我怎么能这样做,我希望你能理解我糟糕的英语。

感谢。

1 个答案:

答案 0 :(得分:1)

请检查以下网址,它可以帮助您获得答案

$(function () {

    $('input#insertPattern').click(function () {
        //alert('clicked me');
        insertEmoticonAtTextareaCursor('insertPattern', ':)');
    });

    function insertEmoticonAtTextareaCursor(ID, text) {
        //var txtarea = document.getElementById(areaId);

        var txtarea = $("#" + ID).next('textarea')[0];
        var scrollPos = txtarea.scrollTop;
        var strPos = 0;
        var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
            "ff" : (document.selection ? "ie" : false));
        if (br == "ie") {
            txtarea.focus();
            var range = document.selection.createRange();
            range.moveStart('character', -txtarea.value.length);
            strPos = range.text.length;
        } else if (br == "ff") strPos = txtarea.selectionStart;

        var front = (txtarea.value).substring(0, strPos);
        var back = (txtarea.value).substring(strPos, txtarea.value.length);
        txtarea.value = front + text + back;
        strPos = strPos + text.length;
        if (br == "ie") {
            txtarea.focus();
            var range = document.selection.createRange();
            range.moveStart('character', -txtarea.value.length);
            range.moveStart('character', strPos);
            range.moveEnd('character', 0);
            range.select();
        } else if (br == "ff") {
            txtarea.selectionStart = strPos;
            txtarea.selectionEnd = strPos;
            txtarea.focus();
        }
        txtarea.scrollTop = scrollPos;
    }

});

HTML

<div id="100000000">
    <input id="insertPattern" type="button" value="insert pattern" />
    <textarea class="chatMessengerFooterTextArea">insert some text into this string</textarea>
</div>

DEMO