我希望在使用jquery.maskedinput插件获得焦点时将mask应用于输入元素。但是第一次聚焦时,面具就不存在了。只有当它第二次接收到焦点时,屏幕才会出现。如何让面具在第一次聚焦时显示?
HTML:
<input type=text id=a />
<input type=text id=b />
脚本:
$(document).ready(function () {
$('#a').on('focus', function () {
$(this).mask('999');
});
});
答案 0 :(得分:2)
问题在于窗口小部件使用focus()来添加蒙版。该元素已经集中,因为您在事件发生后进行了注册。
它的工作方式是在创建页面时注册它
$(function () {
$('#a').mask('999')
});
但是如果你想在onfocus上进行,你需要在删除事件后触发焦点,这样你就不会陷入困境。
$(function () {
$('#a').on('focus.first', function () {
$(this).off("focus.first").mask('999').trigger("focus");
});
});