jQuery .on()没有绑定事件处理程序
jQuery .on() not binding event-handler
我试图将事件处理程序附加到动态变化表中的每一行,没有成功(使用jQuery 1.11.0版本)*编辑:正如许多人指出的那样,'hover'被弃用了,但我的问题也存在于其他处理程序*
$('#tableBody tbody').on('hover', 'tr', function() {
alert('hovering on a row');
});
上面的代码与jQuery文档(http://api.jquery.com/on/)非常相似,我还尝试了其他版本,比如
$(document).on('hover', '.tableRow', function(){...});
事件处理程序没有被添加。我应该注意到,表的内容是通过AJAX检索的,然后显示出来,这就是我使用.on()方法的原因。
不再支持将'hover'
作为字符串传递给.on()
(在v1.9中删除,如.on()
文档中的"附加说明"中所述)。等效的是使用'mouseenter mouseleave'
,或者如果您只是想在鼠标进入有问题的元素时做一些事情,请尝试:
$('#tableBody tbody').on('mouseenter', 'tr', function() {
请注意,#tableBody
元素需要在运行时存在,因此您需要将其包含在文档就绪处理程序中或正文末尾的脚本元素中。
id 'tableBody'
听起来像是分配给<tbody>
元素,当您的选择器还包括tbody
作为#tableBody
的子元素时,这没有意义。
'mouseenter'事件应该可以正常工作。
$('#myTable tbody').on('mouseenter', 'tr', function() {
alert('hovering on a row');
});
相关文章:
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 模拟 Web 浏览器方向更改事件以使用 Jasmine 测试绑定事件处理程序函数
- 单击事件执行单击和悬停事件处理程序,即使单击事件处理程序取消绑定所有处理程序也是如此
- 如何在页面加载时在 ajax 调用中绑定事件处理程序后触发事件
- 使用 ajax 加载的页面绑定和取消绑定事件处理程序
- 循环中的闭包:在循环中声明的变量在绑定事件侦听器时未正确预设到处理程序函数中
- 在使用fixture的Jasmine测试中绑定事件处理程序的最佳实践
- 动态绑定事件处理程序的最有效方法
- 在循环中绑定事件处理程序所需的闭包
- Javascript绑定事件处理程序的另一个函数激活/结束
- ReactJS移除ES6中的绑定事件处理程序
- 为服务器端呈现的React模板绑定事件处理程序
- 在for循环中绑定事件处理程序
- 在jQuery中绑定事件后,如何获得对事件处理函数的引用?
- jQuery事件绑定和处理
- 如何在Telerik MVC ClientTemplates中绑定事件处理程序
- 从 jQuery 处理程序取消绑定事件
- mailto:URL 在 jQuery 绑定事件处理程序中不起作用
- jQuery .on()没有绑定事件处理程序
- PureRenderMixin与绑定事件处理程序断开