js、jq实现获取当前页面光标选中的一段文本,然后复制到剪切板

js、jq实现获取当前页面光标选中的一段文本,然后复制到剪切板,第1张

定义如下JS函数,然后DIV触发onclick

事件就OK。

function

CopyUrl()

{

var

htm

=

documentgetElementById("yourdiv")innerHTML;

windowclipboardDatasetData('text',

htm);

}

yourdiv

就是你的div的ID

我写了代码如下, 测试可行, 供参考:

//主要靠这个函数实现: 将body下的文本节点中的searchWord, 替换为replaceWord

function replaceBodyText(searchWord, replaceWord){

    var reg = new RegExp(searchWord, 'g');

    function replaceNode(node){

        nodechildNodesforEach(function(v){

            if(vnodeName === 'SCRIPT')

                return; //排除<script>标签

            if(!vhasChildNodes()){

                if(regtest(vtextContent))

                    vtextContent = vtextContentreplace(reg, replaceWord);

                return;

            }

            replaceNode(v);

        });

    }

    replaceNode(documentbody);

}

//绑定一个事件测试用, 点击这个按钮后才会执行;

documentquerySelector('#testBtn')addEventListener('click', function(){

    replaceBodyText('中国', '美国');

});

//实际使用中直接调用函数即可:

//以下语句表示将所有文本节点中的"中国"替换为"美国:

//replaceBodyText('中国', '美国');

var keyword="";//关键字

这样写就可以:

var keyword=documentforms[0]keywordvalue;//关键字

但是,你的这样语句就是页面加载的时候执行一次,因为你写在onLoad里面的,那么当页面加载以后你修改keyword的值是没有效果的。

要能够多次执行,应该这样:

<html><head>

<script language="JavaScript">

function func()

{

var keyword=documentforms[0]keywordvalue;//关键字

var r=documentbodycreateTextRange();

var s='<font style="background-color: #FFFF00;">'+keyword+'</font>';

while(rfindText(keyword)){

for(var o=rparentElement();o&&otagName!="A";o=oparentElement);

if(!o)try{

rpasteHTML(s);

}catch(e){}

rcollapse(false);

}

return false;

}

</script>

</head><body>

<form onSubmit="return func();">

<input name='keyword' type='text' value="">

<input type=submit value='Search'>

</form>

</body></html>

<!DOCTYPE HTML>

<html>

<head>

<meta charset=UTF-8>

<title>recursion</title>

<style type="text/css">

</style>

<script type="text/javascript">

var array = [];

    onload = function ()

    {

    var tags = documentbodygetElementsByTagName ('');

    for ( var i = 0; i < tagslength; i++)

    {

    arraypush (getText (tags[i]));

    }

    consolelog (array);

    }

    

    var getText = function (dom)

    {

     var index = 0, html = dominnerHTML;

    while (domchildrenlength && index < domchildrenlength)

    {

     var chtml = domchildren[index]outerHTML;

html = dominnerHTMLreplace(chtml, '');

     index++;

    }

    return "<font>" + html + "</font>";

    }

</script>

</head>

<body>

<p>

ths is p<a href="">this is a</a>wyz

</p>

<i>this is i</i>

<b>this is b</b>

</body>

</html>

以上就是关于js、jq实现获取当前页面光标选中的一段文本,然后复制到剪切板全部的内容,包括:js、jq实现获取当前页面光标选中的一段文本,然后复制到剪切板、js获取网页当中body里所有标签里面的指定汉字并进行批量替换、js怎么获取文本框内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9402092.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存