給定一個jQuery Datatable,如何確定點擊是否發生在某個列上?jQuery DataTable - 獲取點擊最接近的td元素的類
我有一個jQuery DataTable實例填充了各種數據,這些數據是數據庫記錄的摘要。目前,單擊一行將打開一個對話框,其中包含相應數據庫記錄的所有字段。我想要做的就是打開第二個對話框中,如果列點擊已指定的類「意見」
目前,我通過
timelineTable = $("#timeline_table").dataTable({
"aLengthMenu" : [
["-1", "10", "25", "50", "100"],
["All", "10", "25", "50", "100"]
],
"iDisplayLength" : -1,
"aoColumnDefs" : [
{"bVisible" : false, "aTargets" : [6, 8] },
{"sClass" : "comments", "aTargets" : [7]} //adds class 'comments' to this column index
]
});
初始化數據表中,並有綁定到動態填充click事件行:
$("#timeline_table").on("click", "tbody tr", timelineTableClickHandler);
這工作正常對外開放細節對話框的默認操作,但我想修改函數處理程序
$("#timeline_table").on("click", "tbody tr", function(e){
if ($(this).closest("td").hasClass("comments"))
//call secondary dialog open event
else
//call default dialog open event
});
然而,$(this).closest("td").hasClass("comments")
被返回undefined,當我把一個斷點,在Firebug的,下面的命令和輸出結果
$(this).attr("id") prints out row id
$(this).closest("td") prints out jQuery()
$(this).closest("td").text() prints out "", should be 0