以前,我使用jQuery处理问题如下:
$("#textInput").keydown(function (e) { return e.which !== 32; });
你会如何使用新的Angular和Typescript来处理它?
或者干脆;
原文链接:https://www.f2er.com/angularjs/141646.html<input type="text" (keydown.space)="$event.preventDefault();">
我设法创建了一个方便的指令,它接受你给它的任何关键数字并防止它们
@Directive( { selector : '[prevent-keys]',host : { '(keydown)' : 'onKeyUp($event)' } } ) export class PreventKeyseDirective { @Input( 'prevent-keys' ) preventKeys; onKeyUp ( $event ) { if ( this.preventKeys && this.preventKeys.includes( $event. keyCode ) ) { $event.preventDefault(); } } }
然后像使用它一样
<input [prevent-keys]="[32,37,38,39,40 ]" type="text">
这将防止空格,向上,向左,向下,向右键:D