加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 防止用户在文本框中释放空间

发布时间:2020-12-17 07:19:50 所属栏目:安全 来源:网络整理
导读:以前,我使用jQuery处理问题如下: $("#textInput").keydown(function (e) { return e.which !== 32;}); 你会如何使用新的Angular和Typescript来处理它? 或者干脆; input type="text" (keydown.space)="$event.preventDefault();" 我设法创建了一个方便的指
以前,我使用jQuery处理问题如下:
$("#textInput").keydown(function (e) {
  return e.which !== 32;
});

你会如何使用新的Angular和Typescript来处理它?

或者干脆;
<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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读