angular type=[number]指令来阻止粘贴

angular type=[number] directive to block paste

本文关键字:指令 type number angular      更新时间:2023-09-26

我正在寻找一种方法来阻止粘贴到数字指令中。我想屏蔽所有的粘贴事件,我以前在jQuery中做过,但在angular中没能做到
这是jQuery代码,我知道我需要扩展input[number]指令,但我找不到任何扩展该指令的示例。

$("input[type='number']").on('paste', function (e) {
    e.preventDefault();
    var value = prompt('set content here');
    this.value = (value)?value.replace(/[^'d.-]/g, ''):0;
})

我希望能提供一个扩展input[number]指令的代码框架或演示,这样我就可以为此进行更改。

所以我没有扩展指令,而是在它上面创建了另一个。。。希望它能帮助任何需要这个解决方案的人

myApp.directive('input', function () {
    return {
        scope: {},
        link: function ($scope, $element, $attrs) {
            if ($attrs.type == 'number') {
                $element.on('paste', function (e) {
                    e.preventDefault();
                    var value = prompt('paste content here');
                    this.value = (value)?value.replace(/[^'d.-]/g, ''):0;
                });
            }
        }
    };
});