jQuery .on()不绑定事件处理程序

Noa*_*oam 3 javascript jquery

我正在尝试将事件处理程序附加到动态更改表中的每一行但没有成功(使用jQuery版本1.11.0)*编辑:正如许多人所指出的那样,' hover '已被删除,但我的问题也存在于其他处理人员*

$('#tableBody tbody').on('hover', 'tr', function() {
    alert('hovering on a row');
});
Run Code Online (Sandbox Code Playgroud)

上面的代码与jQuery文档 - http://api.jquery.com/on/完全相同,我尝试过其他变体,比如

$(document).on('hover', '.tableRow', function(){...});
Run Code Online (Sandbox Code Playgroud)

事件处理程序就是没有添加.我应该注意,表的内容是通过AJAX检索然后显示的,这就是我使用.on()方法的原因.

nnn*_*nnn 6

通过'hover'作为一个字符串到.on()不再支持(在V1.9除去下在"附加注释"如所提到的.on()文档).相当于使用'mouseenter mouseleave',或者如果你只是想在鼠标进入有问题的元素时做某事,请尝试:

$('#tableBody tbody').on('mouseenter', 'tr', function() {
Run Code Online (Sandbox Code Playgroud)

请注意,#tableBody元素在运行时需要存在,因此您需要将其包含在文档就绪处理程序或正文末尾的脚本元素中.

并且id 'tableBody'听起来像是分配给<tbody>元素,当你的选择器还包括tbody作为子元素时,它没有意义#tableBody.