原生js/jQuery/jq实现点击复制文字功能

方法一:原生js

// var lis = document.querySelectorAll(‘li’)
// for (let i = 0; i < lis.length; i++) {
// lis[i].onclick = function () {
// let str = lis[i].innerHTML; //拿到li标签内的文本
// let input = document.createElement(“input”); //新建一个input
// input.setAttribute(“value”, str); //给input赋默认值
// document.body.appendChild(input); //放入document
// input.select(); //选中输入框的文本,目前只有input和textarea支持,注意要复制的标签不能隐藏(display: none;)
// document.execCommand(“Copy”); //执行document的复制
// input.remove(); //用完就扔
// //------------------------------------------------------
// // 如果需要提示语
// let div = document.createElement(“div”); //提示语div
// div.setAttribute(“style”,
// “position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 12px 25px;background: rgba(0, 0, 0,
0.6); color: #fff;font-size: 14px;”
// ); //提示语div的样式
// div.innerHTML = “复制成功” //提示语的文字
// document.body.appendChild(div); //放入document
// setTimeout(() => {
// div.remove(); //用完就扔
// }, 1000);
// }
// }

//方法二:jQuery


```ruby
  $(".main").on("click", "li", function () {
        let str = $(this).text(); //拿到li标签内的文本
        let input = `<input type="text" id="temp" value="${str}">`;
        $("body").append(input); //放入document
        $("#temp").select(); //选中输入框的文本,目前只有input和textarea支持,注意要复制的标签不能隐藏(display: none;)
        document.execCommand("Copy"); //执行document的复制
        $("#temp").remove(); //用完就扔
        // 如果需要提示语
        let div =
            `<div id="tip" style="position: absolute; top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 12px 25px;background: rgba(0, 0, 0, 0.6); color: #fff;font-size: 14px;">复制成功</div>`; //提示语div
        $("body").append(div); //放入document
        setTimeout(() => {
            $("#tip").remove(); //用完就扔
        }, 1000);
    })

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在前端开发中,可以使用原生 JavaScript 或 jQuery实现图片的放大效果。下面分别给出两种方法: 1. 原生 JavaScript 方法: ```javascript // HTML 结构 // <img src="path_to_image.jpg" alt="Image" class="zoomable-image"> // CSS 样式 // .zoomable-image { // cursor: pointer; // } // JavaScript 代码 const images = document.querySelectorAll('.zoomable-image'); images.forEach(image => { image.addEventListener('click', function() { // 创建放大图片的容器 const zoomContainer = document.createElement('div'); zoomContainer.classList.add('zoom-container'); document.body.appendChild(zoomContainer); // 创建放大图片 const zoomedImage = document.createElement('img'); zoomedImage.src = this.src; zoomedImage.alt = this.alt; zoomContainer.appendChild(zoomedImage); // 点放大图片容器时关闭放大效果 zoomContainer.addEventListener('click', function() { this.remove(); }); }); }); ``` 2. 使用 jQuery 方法: ```javascript // HTML 结构与 CSS 样式同上 // JavaScript 代码 $('.zoomable-image').on('click', function() { // 创建放大图片的容器 const zoomContainer = $('<div>').addClass('zoom-container'); $('body').append(zoomContainer); // 创建放大图片 const zoomedImage = $('<img>').attr('src', this.src).attr('alt', this.alt); zoomContainer.append(zoomedImage); // 点放大图片容器时关闭放大效果 zoomContainer.on('click', function() { $(this).remove(); }); }); ``` 以上代码实现了点图片时,在页面上创建一个放大的图片,并且点放大的图片时可以关闭放大效果。你可以根据实际需求,对样式和交互进行进一步的调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值