jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 获取用户在jquery中复制的文本并重写粘贴[复制]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How does Financial Times add a disclaimer when pasting text?                                    5个
我试图让用户复制文本并重写他们粘贴的内容.

例….

<p>This is some awesome text that i wrote</p>@H_674_11@ 
 

用户复制单词“awesome text”

我想用“awesome text”这个词加上“ – 来自mywebsite.com”

所以现在当用户粘贴从我的网站复制的这个文本时,它会说“真棒文本 – 来自mywebsite.com”

我用Google搜索了这是我到目前为止所获得的http://jsfiddle.net/YD88T/

解决方法

也许这段代码可以解决问题.它会在用户实际复制之前将您的文本附加到用户选择.

jQuery.fn.addtocopy = function(usercopytxt) {
    var options = {htmlcopytxt: '<br>More: <a href="'+window.LOCATIOn.href+'">'+window.LOCATIOn.href+'</a><br>',minlen: 25,addcopyfirst: falsE}
    $.extend(options,usercopytxt);
    var copy_sp = document.createElement('span');
    copy_sp.id = 'ctrlcopy';
    copy_sp.innerHTML = options.htmlcopytxt;
    return this.each(function(){
        $(this).mousedown(function(){$('#ctrlcopy').remove();});
        $(this).mouseup(function(){
            if(window.getSELEction){    //good times
                var slcted=window.getSELEction();
                var seltxt=slcted.toString();
                if(!seltxt||seltxt.length<options.minlen) return;
                var nslct = slcted.getRangeAt(0);
                seltxt = nslct.cloneRange();
                seltxt.collapse(options.addcopyfirst);
                seltxt.insertNode(copy_sp);
                if (!options.addcopyfirst) nslct.setEndAfter(copy_sp);
                slcted.removeAllRanges();
                slcted.addRange(nslct);
            } else if(document.SELEction){  //bad times
                var slcted = document.SELEction;
                var nslct=slcted.createRange();
                var seltxt=nslct.text;
                if (!seltxt||seltxt.length<options.minlen) return;
                seltxt=nslct.duplicate();
                seltxt.collapse(options.addcopyfirst);
                seltxt.pasteHTML(copy_sp.outerHTML);
                if (!options.addcopyfirst) {nslct.setEndPoint("EndToEnd",seltxt); nslct.SELEct();}
            }
        });
  });
}@H_674_11@ 
 

我从这里开始:http://naviny.by/js/main.min.js

A demo(选择至少25个字符)

大佬总结

以上是大佬教程为你收集整理的javascript – 获取用户在jquery中复制的文本并重写粘贴[复制]全部内容,希望文章能够帮你解决javascript – 获取用户在jquery中复制的文本并重写粘贴[复制]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。