弃用 jQuery 伪选择器和 on() 事件处理程序
Deprecated jQuery pseudo selectors and on() event handler
现在,我已经看到,从 jQuery 3.4 开始,一些伪选择器已被弃用,例如 :last 选择器。目前,我正在使用这些选择器来附加事件处理程序,例如:
$('#my-table').on('click', '.btn:last', function (e) {
// ...
});
我需要这种事件处理方式,因为我在运行时动态添加行,不想为添加的每一行添加单独的事件处理程序。
文档指出,我现在应该使用 last()
而不是 :last
。但是如何在上面的 on()
处理程序中使用它?
最简单的方法是在按钮上添加一个 class。
HTML:
<table id="my-table>
[...]
<button class="btn-last">Click</button>
[...]
</table>
JS:
$('#my-table').on('click', '.btn-last', function (e) {
// ...
});
根据您的 HTML,您还可以使用 last-child(可能类似于 td:last-child .btn
$('#my-table').on('click', '.btn:last-child', function (e) {
// ...
});
现在,我已经看到,从 jQuery 3.4 开始,一些伪选择器已被弃用,例如 :last 选择器。目前,我正在使用这些选择器来附加事件处理程序,例如:
$('#my-table').on('click', '.btn:last', function (e) {
// ...
});
我需要这种事件处理方式,因为我在运行时动态添加行,不想为添加的每一行添加单独的事件处理程序。
文档指出,我现在应该使用 last()
而不是 :last
。但是如何在上面的 on()
处理程序中使用它?
最简单的方法是在按钮上添加一个 class。
HTML:
<table id="my-table>
[...]
<button class="btn-last">Click</button>
[...]
</table>
JS:
$('#my-table').on('click', '.btn-last', function (e) {
// ...
});
根据您的 HTML,您还可以使用 last-child(可能类似于 td:last-child .btn
$('#my-table').on('click', '.btn:last-child', function (e) {
// ...
});