Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 是否可以使用不同的占位符进行掩码输入?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
由于我的表单没有标签,我希望能够使用与Angular和Angular-UI-Utils-Mask不同的占位符:

<div ng-controller="myController">
    <input type="text"
        ng-model="date"
        ui-mask="99/99/9999"
        placeholder="Birth Date"/>  
</div>

使用jquery-inputmask它就像一个魅力,但我有太多的问题使它与Angular一起使用所以我现在尝试去Angular方式,但是Angular将我的输入显示为:

Bi/th/Date

这是一个显示它的小提琴:http://jsfiddle.net/XS4R6/

我也看到有些人在谈论’u-mask-placeholder’,但它什么也没做.

有没有办法实现这个目标?

编辑

为了澄清,我认为只使用占位符就好了,因为你也使用了标题(提示),所以人们总是知道他们应该在这些输入中键入什么:

显示__.___.___的输入是我正在使用Angular UI Mask的输入.

JQuery Inputmask工作得非常好,因为它显示了’name’占位符,只要我鼠标悬停或单击输入它就会显示掩码.

解决方法

我想你可以使用另一个标签来模拟占位符,也许这里的代码不是很好,但我只是提供了另一个想法.

app.directive("myPlaceholder",['$compile',function($compilE){
return {
    reStrict: 'A',link: function(scope,elem,attr) {
        attr.$observe('myPlaceholder',initializE);
        var mask = '__/__/____';

        function initialize(value) {
            // label is not clickable in IE,that's the reason why we use span tag
            var fakePlaceholder = angular.element('<span class="placeholder">' + value + '</span>');
            // click placeholder to focus the input
            fakePlaceholder.on('click',function(){
                elem.focus();
            });
            elem.before(fakePlaceholder);
            $compile(fakePlaceholder)(scopE);

            elem.on('focus',function() {
                fakePlaceholder.hide();
            }).on('blur',function() {
                if (elem.val() === mask) {
                    fakePlaceholder.show();
                }
            });
        }
    }
};
}]);

http://jsfiddle.net/XS4R6/19/上演示(需要jQuery)

大佬总结

以上是大佬教程为你收集整理的angularjs – 是否可以使用不同的占位符进行掩码输入?全部内容,希望文章能够帮你解决angularjs – 是否可以使用不同的占位符进行掩码输入?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。