javascript - Angular 类型 = [数字] 指令来阻止粘贴

标签 javascript jquery angularjs

我正在寻找一种方法来阻止粘贴到数字指令中。 我虽然关于阻止所有粘贴事件,我之前在 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;
                });
            }
        }
    };
});

关于javascript - Angular 类型 = [数字] 指令来阻止粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453669/

相关文章:

javascript - 如何像 jQuery RemoveAll() 一样删除 angularJS 中的数组元素?

javascript - 在 vuex + Firebase 应用程序中获取使用重定向方法登录的结果

javascript - 如何在选定的 div 上附加类?

javascript - 使用 AJAX 运行 PHP 脚本然后返回单个值

javascript - 在 .content div 内的 4 个 div 之间导航

javascript - 在 li 中显示和隐藏 div

javascript:仅在检测到 "return false"时才执行 onsubmit

jquery - $(element).is (':visible' ) 始终为 false

angularjs - 使用 Angular UI-Grid,如何在不使用行选择的情况下访问行实体数据?

javascript - Angular 函数未在 Controller 中运行或绑定(bind)到 $scope 变量