繁体   English   中英

Javascript鼠标的起始位置

[英]Javascript mouse start position

我在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

如果我以后“ ”和“ 名称 ”之间的点击,如果我点击按钮,我想我的设置和名称上面之间的值(文本)。

我该怎么办,希望您能理解我的英语不好。

谢谢。

请在URL下点击chcek,它可以帮助您获得答案

$(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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM