Angular 復(fù)制文本指令

@Input()copyText:string;

constructor(

private renderer: Renderer2,

private el: ElementRef

) { }

@HostListener('click', ['$event'])

public onClick () {

if (!this.copyText) {

return;

}

const dom =this.renderer.createElement('div');

const el =this.el.nativeElement;

const range =document.createRange();

this.renderer.setAttribute(dom,'id','copyId');

this.renderer.setProperty(dom,'innerHTML',this.copyText);

el.appendChild(dom);

range.selectNode(el.querySelector('#copyId'));

window.getSelection().removeAllRanges();

window.getSelection().addRange(range);

const success =document.execCommand('copy');

if (success) {

console.log('復(fù)制成功');

el.removeChild(dom);

}else {

console.log('該瀏覽器不支持!');

}

}


使用方法: <span [copyText]="'復(fù)制內(nèi)容"></span>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容