jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery将多行列表复制到剪贴板大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我花了一些时间试图找出一个解决方案,该解决方案可以复制 HTML中的多行列表,从按钮上删除标签和缩进,而无需使用Flash.在我的研究中,我遇到了“ jQuery click button copy to clipboard”并且我已经测试了 Alvaro Montoro’s answer,但该解决方案不适用于多行列表,但它适用于段落文本.我不打算支持Clipbaord API,因为它在浏览器中显示非常 limited support.进一步研究我遇到了“ HTML5 alternative to flash-based ZeroClipboard for safe copying of data to clipboard?”和Thayne的答案链接blog post,但它将复制所有的HTMl.我已经弄清楚如何剥离标签和缩进:

HTML:

<button onclick="copyToClipboard('#therecipe')">Copy List</button>
<div class="lisTing">
    <ul id="someList">
        <li>1 million</li>
        <li>Monday</li>
        <li>Something</li>
        <li>Foobar</li>
        <li>1tsp blah</li>
    </ul>
</div>

<textarea class="auto"></textarea>

jQuery的:

$('button').click(function(element) {
    var tHelist = $('#someList').html();
    tHelist = tHelist.replace(/\s+<li>/g,'');
    tHelist = tHelist.replace(/<\/?li>/g,'\r');
    $('.auto').val(tHelist);
});

如何使用jQuery复制多行列表项,删除标签,删除缩进,并在不使用Flash的情况下复制到剪贴板?是否有支持我没有看到的所有最新浏览器的插件

解决方法

注意:此解决方案适用于IE10,Chrome 43,Opera 29和Firefox 41.不适用于Safari!

你大部分都在那里,你只需要选择()< textarea>然后使用document.execCommand(‘copy’)将其加载到剪贴板中.

var copyTextarea = document.querySELEctor('.auto');

$('button').click(function(element) {
  var tHelist = $('#someList').html();
  tHelist = tHelist.replace(/\s+<li>/g,'');
  tHelist = tHelist.replace(/<\/?li>/g,'\r');
  $('.auto').val(tHelist);
  copyTextarea.SELEct();
  document.execCommand('copy');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Copy List</button>
<div class="lisTing">
  <ul id="someList">
    <li>1 million</li>
    <li>Monday</li>
    <li>Something</li>
    <li>Foobar</li>
    <li>1tsp blah</li>
  </ul>
</div>
<textarea class="auto"></textarea>

< textarea>这是必需的,但您可以使用CSS隐藏它.它不会像display:none那样简单,因为它会使它无法被选中.您可以将其放在屏幕上,或者按照this answer中的详细建议使其不可见.

额外的间距来自你的HTML缩进,你可以用String.prototype.trim()来摆脱它,但理想情况下我会通过遍历DOM而不是使用Regex来构建你的列表.

大佬总结

以上是大佬教程为你收集整理的jQuery将多行列表复制到剪贴板全部内容,希望文章能够帮你解决jQuery将多行列表复制到剪贴板所遇到的程序开发问题。

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

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