angularjs – 是否可以使用不同的占位符进行掩码输入?
发布时间:2020-12-17 18:07:45 所属栏目:安全 来源:网络整理
导读:由于我的表单没有标签,我希望能够使用与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-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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |