就绪函数中的委派函数
Delegated function inside ready function
我正在使用带有隐藏行的数据表插件,使用分页时,我的单击事件失败而没有控制台错误。
这是函数:
$(document).ready(function() {
$('#datatable tbody td a').on('click', function (e) {
e.preventDefault();
var nTr = $(this).parents('tr')[0];
if ( oTable.fnIsOpen(nTr) ) {
/* This row is already open - close it */
$(this).addClass('glyphicon-arrow-down');
$(this).removeClass('glyphicon-arrow-up');
oTable.fnClose( nTr );
} else {
/* Open this row */
$(this).addClass('glyphicon-arrow-up');
$(this).removeClass('glyphicon-arrow-down');
oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
}
});
});
如您所见,我正在使用委派,但该函数包装在一个就绪函数中。我确定这就是问题所在。我该如何解决这个问题?
上述问题被错误地问了,请参阅我在答案下的评论。
Read .on()
由于元素是动态添加的,因此您无法将事件直接绑定到它们。因此,您必须使用事件委派。
$('#datatable').on('click', 'tbody td a', function (e) {});
语法
$( elements ).on( events, selector, data, handler );
下面的代码不Event Delegation
$('#datatable tbody td a').on('click', function (e) {
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 如何委派查询函数
- 就绪函数中的委派函数
- jQuery委派的函数被激发
- 如何给两个函数委派函数
- CoffeeScript:使用函数绑定的内联调用委派