datepicker()和mask()之间的jQuery冲突
我正在使用jquery-ui-datepicker.min.js,并将其组合在一个输入中:datepicker()和mask()之间的jQuery冲突,jquery,datepicker,mask,Jquery,Datepicker,Mask,我正在使用jquery-ui-datepicker.min.js,并将其组合在一个输入中: $(“#datepicker”).datepicker().mask(“99/99/9999”) 同时使用它们,用户可以使用可视日期选择器设置日期,也可以在屏蔽格式中键入日期(/和u字符在键入时可见) 但当用户试图删除文本并清除输入时,它们是相互冲突的。在输入中添加日期后,如果按DELETE和ALT按钮,则删除的文本将返回。因此,用户无法取消设置由服务器提供或自己键入的日期 我尝试过.mask(“form
$(“#datepicker”).datepicker().mask(“99/99/9999”)代码>
同时使用它们,用户可以使用可视日期选择器设置日期,也可以在屏蔽格式中键入日期(/和u字符在键入时可见)
但当用户试图删除文本并清除输入时,它们是相互冲突的。在输入中添加日期后,如果按DELETE和ALT按钮,则删除的文本将返回。因此,用户无法取消设置由服务器提供或自己键入的日期
我尝试过.mask(“format”,{completed:function})、datepicker的onClose、$().focusout()事件。任何东西都无法捕获已删除的文本,并确保它保持这种方式。哈哈,我修复了它
$("#datepicker").datepicker().mask("99/99/9999");
$("#datepicker").keyup(function(e){
if(46==e.keyCode || 8==e.keyCode || 9==e.keyCode){
var $this = $(this);
if($this.val() == "__/__/____")
$this.val("");
}
});
每次删除、退格(表示用户要删除它)或制表符(表示用户要离开输入)时,此代码都会验证文本是否已删除,掩码()是否添加了掩码文本,如果是,则清除该文本
正如我所理解的,mask()添加了屏蔽文本\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我的代码在datepicker()看到它之前拦截它并清除该文本
仍然存在一个问题,如果用户通过鼠标单击其他位置来保留输入,那么问题有时仍然会发生。我可以试试focusout()之类的,但我现在不想试试。哈哈,我修好了
$("#datepicker").datepicker().mask("99/99/9999");
$("#datepicker").keyup(function(e){
if(46==e.keyCode || 8==e.keyCode || 9==e.keyCode){
var $this = $(this);
if($this.val() == "__/__/____")
$this.val("");
}
});
每次删除、退格(表示用户要删除它)或制表符(表示用户要离开输入)时,此代码都会验证文本是否已删除,掩码()是否添加了掩码文本,如果是,则清除该文本
正如我所理解的,mask()添加了屏蔽文本\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我的代码在datepicker()看到它之前拦截它并清除该文本
仍然存在一个问题,如果用户通过鼠标单击其他位置来保留输入,那么问题有时仍然会发生。我可以尝试focusout()或其他方法,但现在不尝试。Datepicker
已经提供了格式化日期的方法。你为什么要用mask
把它搞砸呢?你能不能提供,然后用fiddle或者我们的答案只能基于假设。Datepicker
已经提供了格式化日期的方法。你为什么要用面具
把事情搞砸呢?你能不能提供一些信息,然后摆弄一下,否则我们的答案只能基于假设。