Jquery:使用live插件

时间:2011-02-17 15:00:04

标签: javascript jquery

有一个带有.data类的表,我想应用setMask,通常的方法是:

$(".data tbody tr input:text").setMask();

但是我动态添加新行,因此未来创建的行需要一个实时函数。 我试过这个却失败了:

$('.data tbody tr input:text').live('ready', function() {
    $(this).setMask();
});

我想找到解决方案。

3 个答案:

答案 0 :(得分:3)

使用liveQuery插件。你可以绑定任何事件。

$('.data tbody tr input:text').livequery(function() {
    $(this).setMask();
});

答案 1 :(得分:1)

您只能将现有事件绑定到livebind。对于我的生活,我找不到一个完整的列表(已尝试多次),但readyload不在那里:也就是说,没有办法绑定一个元素加载,至少不跨浏览器。如果你只关心非IE,那么我相信DomNodeInserted将作为一个事件。

无论哪种方式,您似乎都在控制何时插入表格行,不是吗?因此,当您插入表行时,只需在其上运行setMask,就这样:

$tr = $(".data tbody").insertTableRow(); //Pretend function returns tr object
$tr.setMask();

答案 2 :(得分:1)

查看livequery插件。它与$ .live有点不同,因为它可以在添加新匹配元素时触发函数。