有一个带有.data类的表,我想应用setMask,通常的方法是:
$(".data tbody tr input:text").setMask();
但是我动态添加新行,因此未来创建的行需要一个实时函数。 我试过这个却失败了:
$('.data tbody tr input:text').live('ready', function() {
$(this).setMask();
});
我想找到解决方案。
答案 0 :(得分:3)
使用liveQuery
插件。你可以绑定任何事件。
$('.data tbody tr input:text').livequery(function() {
$(this).setMask();
});
答案 1 :(得分:1)
您只能将现有事件绑定到live
和bind
。对于我的生活,我找不到一个完整的列表(已尝试多次),但ready
和load
不在那里:也就是说,没有办法绑定一个元素加载,至少不跨浏览器。如果你只关心非IE,那么我相信DomNodeInserted
将作为一个事件。
无论哪种方式,您似乎都在控制何时插入表格行,不是吗?因此,当您插入表行时,只需在其上运行setMask,就这样:
$tr = $(".data tbody").insertTableRow(); //Pretend function returns tr object
$tr.setMask();
答案 2 :(得分:1)
查看livequery插件。它与$ .live有点不同,因为它可以在添加新匹配元素时触发函数。