我正在使用jQuery的Masked Input plugin来帮助用户输入日期,邮政编码,电话号码等字段的有效输入。(我也使用Validate来确保表单不能除非事情正确并提供提示,否则必须提交。)
我的问题是我需要能够克隆一行输入,包括那些使用Masked Input的输入。通常,jQuery的clone(true)
将复制任何绑定事件以及克隆的DOM节点,但由于某种原因,这不适用于屏蔽输入:单击克隆输入会使其专注于原始节点。
我看到the plugin's author has also had this problem,但据我所知,它还没有解决。
是否有人有解决方法?我想我可以在新输入上调用unmask()
,然后再次mask()
应用原始规则,但我不知道我不想硬编码这些规则是什么;我希望它们是从原始输入中确定的,这样我只需要在一个地方编码它们。
答案 0 :(得分:0)
使用模板插件jQuery,基本示例:
JS:
var
id = 0,
addNewItem = function() {
var
itemNew = $('#template-item').tmpl({id: id};
id++;
$(itemNew).find('.input-a').XPlugin(); // applied any plugin
$(itemNew).appendTo('#myTable tbody');
};
可在任何地方使用。或当事件发生时
addNewItem();
编辑并更新问题
问题如下,这个插件将元素引用(输入)保存在变量“var input = $ (this);
”中(“jquery.maskedinput-1.2.2.js”的第85行),然后将它用于所有事件和功能。当你想克隆元素时,在插件中引用第一个元素。因此,无法克隆此插件。