Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery将文本附加到所选内容上,但保持高亮显示,并避免在文本区域和输入框上添加文本_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery将文本附加到所选内容上,但保持高亮显示,并避免在文本区域和输入框上添加文本

Javascript jQuery将文本附加到所选内容上,但保持高亮显示,并避免在文本区域和输入框上添加文本,javascript,jquery,html,Javascript,Jquery,Html,我已经在这里形成了这个代码片段 $(文档).on('copy',函数(e){ var seltxt=window.getSelection(); var copyFooter='阅读更多信息:'+document.location.href+''; var copyHolder=$('',{html:seltxt+copyFooter,样式:{position:'absolute',left:'-9999px'}}); $('body')。追加(版权持有者); seltxt.selectAllC

我已经在这里形成了这个代码片段

$(文档).on('copy',函数(e){
var seltxt=window.getSelection();
var copyFooter='

阅读更多信息:'+document.location.href+'
'; var copyHolder=$('',{html:seltxt+copyFooter,样式:{position:'absolute',left:'-9999px'}}); $('body')。追加(版权持有者); seltxt.selectAllChildren(版权持有者[0]); setTimeout(函数(){copyHolder.remove();},0); });
它所做的是在复制操作时将附加文本添加到选择中,但它缺少两个主要功能:

  • 即使我们从文本区域或输入字段中进行选择,它也会复制,在我的情况下,这一点都没有用

  • 它会在复制后删除突出显示的文本,这不是浏览器上的默认行为,因此在第一次复制时可能会让用户感到恼火

对于第一个问题,我没有深入讨论,因为我不知道如何避免文本区域或输入框上的函数行为。幸运的是,有人能给我指出正确的方向

至于第二个问题,我试图在最后补充这一点:

seltxt.select();
还尝试:

seltxt.focus().select();
两者都没有成功。有什么想法吗?

这应该行得通:

$(document).on('copy', function(e) {
    var ignore = "input, textarea"
    var seltxt = window.getSelection();
    if ($(e.target).is(ignore)) {
        return;
    }
    $("<div />", {
        html: seltxt + "<br /><br />Read more: " + document.location.href + "<br />",
        appendTo: "body",
        style: {
            position: "absolute",
            left: "-99999px"
        }
    });
});
$(文档).on('copy',函数(e){
var ignore=“输入,textarea”
var seltxt=window.getSelection();
如果($(e.target).is(忽略)){
回来
}
$("", {
html:seltxt+“

阅读更多:“+document.location.href+”
”, 附:“身体”, 风格:{ 位置:“绝对”, 左:“-99999像素” } }); });
$(“:not(输入,文本区域)”)