1

我想在文本区域中实时复制/粘贴突出显示的文本,然后发送。我怎样才能做到这一点 ?我有一些东西可以在弹出窗口中获取选定的文本:

if(!window.Kolich){
            Kolich = {};
        }

        Kolich.Selector = {};
        // getSelected() was borrowed from CodeToad at
        // http://www.codetoad.com/javascript_get_selected_text.asp
        Kolich.Selector.getSelected = function(){
            var t = '';
            if(window.getSelection){
                t = window.getSelection();
            }else if(document.getSelection){
                t = document.getSelection();
            }else if(document.selection){
                t = document.selection.createRange().text;
            }
            return t;
        }

        Kolich.Selector.mouseup = function(){
            var st = Kolich.Selector.getSelected();
            if(st!=''){
                alert("You selected:\n"+st);
            }
        }

        $(document).ready(function(){
            $(document).bind("mouseup", Kolich.Selector.mouseup);
        });

谢谢 !

4

1 回答 1

1

有一个 jQuery 插件 ( jQuery.selection ) 可以解决您的问题。

这是您应该如何将其合并到代码中的想法:

    $(document).ready(function() {
        $(document).bind("mouseup", function() {
            var sel = $.selection('html');
            if (sel != '') {
                $('#yourTextAreaId').val(sel);
                $('#yourDivId').html(sel); // to fill the selection into the body of <div id="yourDivId"></div>
                // send the `sel` here
            }
        });
    });

工作 jsFiddle:http: //jsfiddle.net/Saran/2t4N4/

如果您在提交表格时需要帮助,请告诉我;)


此外,如果您不想选择 HTML 标记元素(标签),只需像这样选择选择(不带'html'or'get'参数):

var sel = $.selection();

jsFiddle 示例:http: //jsfiddle.net/Saran/xWXvH/1/

于 2013-10-25T19:15:06.217 回答