js複製連結並且選中文字
先看看效果圖
然後再看看程式碼
import React, { useState } from 'react'
import { Input, message } from 'antd';
import './index.scss'
import fly from '../../api/flyio'
/**
* 7:職位詳情的分享
*/
export default ({ userInfomation = {}, type, isVisible, handleToggleLayer, jobName = '' }) => {
const [tabType, setTabType] = useState(1)
const tenantId = localStorage.getItem('tenantId')
const [inputValue, setInputValue] = useState(`${window.location.href}`)
const onChangeInput = e => {
// console.log(e.currentTarget.value);
const v = e.currentTarget.value
setInputValue(v)
};
//複製功能
const copylink = () => {
// 在選擇節點的時候,一定要只選擇input
const copyDOM = document.querySelector('.middel-layer input'); //需要複製文字的節點
const range = document.createRange(); //建立一個range
window.getSelection().removeAllRanges(); //清除頁面中已有的selection
range.selectNode(copyDOM); // 選中需要複製的節點
window.getSelection().addRange(range); // 執行選中元素
const successful = document.execCommand('copy'); // 執行 copy 操作
if (successful) {
// copyDOM.select();
message.success('複製成功!')
} else {
message.warning('複製失敗,請手動複製!')
}
// 移除選中的元素
window.getSelection().removeAllRanges();
}
const onSelectInput = () => {
copyAccessKey()
document.querySelector('.middel-layer input').select() // 選中
}
return <div className={`layer-container ${isVisible ? '' : 'isHidden'}`}>
{
type === 7 ?
<div className='layer-content time-layer'>
<div className='time-layer-top border-bo'>
<div className='top-left'>
<div className='top-item active-txt' onClick={() => setTabType(1)}>
<span>連結分享</span>
<i />
</div>
</div>
<div className='close-time-img iconfont iconpopup-close-bt' onClick={() => handleToggleLayer(false)} />
</div>
<div className='share-item'>
<div className='middel-layer'>
<h4>分享職位:{jobName}</h4>
<Input
placeholder='連結'
allowClear={false}
onChange={e => onChangeInput(e)}
prefix='連結'
value={inputValue}
onFocus={() => onSelectInput()}
// defaultValue={inputValue}
/>
<p>可以將連結傳送給你的微信、QQ等好友</p>
</div>
<div className='share-bottom-btn'>
<span className='cancle-btn' onClick={() => handleToggleLayer(false)}>取消</span>
<span onClick={() => copylink()}>複製連結</span>
</div>
</div>
</div> : ''
}
</div>
}
);
};
公眾號
歡迎大家關注我的公眾號: 石馬上coding,一起成長
相關文章
- js實現複製連結JS
- js實現的點選複製選中文字程式碼例項JS
- JavaScript 點選複製選中文字程式碼例項JavaScript
- JS如何實現點選複製功能,JS點選複製文字JS
- 點選按鈕複製連結程式碼例項
- 手機網站禁止複製、選中文字程式碼網站
- js 複製連結,支援IE,火狐等瀏覽器JS瀏覽器
- js點選複製內容JS
- 隨機連結串列的複製隨機
- 面試題35:複雜連結串列的複製面試題
- js 實現點選複製內容JS
- JS 點選複製當前URL地址JS
- JS物件複製:深複製和淺複製JS物件
- ZeroClipboard 多個複製按鈕,多個複製連結 實現方式
- js如何合併兩個陣列並且刪除重複的元素JS陣列
- 複製帶隨機指標的連結串列隨機指標
- 資料結構和演算法——Go實現單連結串列並且反轉單連結串列資料結構演算法Go
- js 實現深複製/深複製JS
- 點選按鈕複製連結到我的貼上板【相容所有瀏覽器】瀏覽器
- js 深複製JS
- js複製功能JS
- mysql 並行複製原理MySql並行
- MySQL 5.7並行複製MySql並行
- MySQL 5.7 並行複製MySql並行
- 一些Q複製實踐的連結
- [連結串列]leetcode138-複製帶隨即指標的連結串列LeetCode指標
- js物件深複製JS物件
- js深度複製物件JS物件
- JS手機端去除預設自帶的選擇複製選單JS
- js連線多個陣列並刪除重複的元素JS陣列
- html 點選複製功能HTML
- js獲取選中文字程式碼例項JS
- Day 7.5 資料型別總結 + 複製 淺複製 深複製資料型別
- LeetCode 複製帶隨機指標的連結串列LeetCode隨機指標
- 如何刪除複製到Excel表格中的超連結Excel
- VUE js中複製物件 JSONVue物件JSON
- [Mysql]Mysql5.7並行複製MySql並行
- mysql 5.7開啟並行複製MySql並行