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

时间:2015-04-05 02:57:41

标签: 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;
})

我很感激扩展输入[number]指令的代码框架或演示,以便我可以更改此porpuse。

1 个答案:

答案 0 :(得分:0)

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

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;
                });
            }
        }
    };
});