JQuery将输入掩码应用于字段onfocus并删除onblur,以避免占位符文本出现问题

我有一个出生日期文本字段:

 

我正在使用jQuery插件(Charl van Niekerk的占位符文本)来确保旧浏览器看到占位符文本。 到目前为止都很好。

单击我的出生日期字段时,我想从占位符文本切换到输入掩码。 为此,我正在使用另一个插件(http://digitalbush.com/projects/masked-input-plugin/)。

但是我只想激活onfocus的输入掩码,并将其删除onblur,否则会阻止显示占位符文本。

我需要这样的东西:

 $(document).ready(function() { $('#dob').focus(function() { $.mask.definitions['~']='[+-]'; $('#dob').mask('99/99/9999'); }); $('#dob').blur(function() { // Something here to unmask? }); }); 

此代码目前无效。 有任何想法吗?

阅读插件代码,应该可以这样做(未经测试):

 (function($) { $(document).ready(function() { $('#dob').focus(function() { $.mask.definitions['~']='[+-]'; $(this).mask('99/99/9999'); }).blur(function() { $(this).unmask(); }); }); })(jQuery); 

请注意,我添加了(function($){})(jQuery) – 我认为以这种方式包装所有代码是一种好习惯。