我正在使用 Angular2 来限制文本框中的复制和粘贴。但是我该如何编写自定义指令,以便轻松应用所有文本字段。
下面是限制复制和粘贴功能的工作代码。
<ion-input formControlName="confirmpass" type="tel" (cut)="$event.preventDefault()" (copy)="$event.preventDefault()" (paste)="$event.preventDefault()"></ion-input>
最佳答案
您可以使用 HostListener在你的指令中捕捉 cut , paste和 copy事件,然后使用 preventDefault()
。这是一个例子
import { Directive, HostListener } from '@angular/core';
@Directive({
selector: '[appBlockCopyPaste]'
})
export class BlockCopyPasteDirective {
constructor() { }
@HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {
e.preventDefault();
}
@HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {
e.preventDefault();
}
@HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {
e.preventDefault();
}
}
像这样使用指令
<ion-input appBlockCopyPaste formControlName="confirmpass" type="tel"></ion-input>
关于angular - 使用 Angular2 禁用文本框的剪切、复制和粘贴功能的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47384952/