加载页面时,如果单击一行,则会记录到控制台clicked
。
但是,如果您对表格进行排序(单击表格标题),如果您尝试单击行,则tr
上的单击事件不会被触发。
我正在使用此插件:tablefixedheader
的的jQuery 的
$(document).ready(function(){
$("table.ex").fixheadertable({
caption : 'Tarefas Disponíveis',
showhide : false,
height : '265',
zebra : true,
zebraClass : 'ui-state-default',
sortable : true,
sortedColId : 0,
dateFormat : 'Y/m/d',
pager : true,
rowsPerPage : 25,
colratio : [110,150],
minColWidth : 110,
resizeCol : true
});
// problem with this click
// The event isn't triggered:
$("table.ex tr").click(function(){
console.log('clicked');
});
});
答案 0 :(得分:11)
您应该使用event delegation,因为该插件会更改原始tr
元素,因此会丢失其附加的事件处理程序。处理程序应该附加在表本身上,因为它肯定不会改变。
$("table.ex").on('click', 'tr', function(){
console.log('clicked');
});
答案 1 :(得分:4)