2016-07-29 38 views
1

我有一个产品单位的输入,我希望在更改时(包括使用鼠标复制粘贴),它会触发一个计算线路总数的函数。委托任何变更元素的最佳方式?

编辑:我需要它在未来的行上工作,而不仅仅是在document.ready上。

我曾尝试:

$('#table_name').delegate('[id^=units_]', 'bind', function() { 

但由于某种原因不能正常工作,而

$('#table_name').delegate('[id^=units_]', 'keyup', function() { 

一样。

我在做什么错?

+0

“*从jQuery 1.7开始,.delegate()已被.on()方法取代*” –

+0

它不起作用,因为“bind”不是一个事件。 –

回答

2

您可以通过用空格分隔事件参数字符串来提供多个事件,但是请注意,delegate()已过时。您现在应该使用on(),像这样:

$('#table_name').on('change keyup', '[id^=units_]', function() { 
    // your code here... 
}); 

如果需要,可以除changekeyup添加更多的事件。

+0

这项工作将在未来增加''吗? – Tyrannogina

+0

假设你添加的'tr'包含你试图用'[id^= units_]'选择的元素,那么是的。 –

+0

哦,我有一个错误的观念认为'.on'不适用于后代元素。谢谢!! – Tyrannogina