我尝试使用jquery数据表处理表上的双击事件 你可以看到我尝试了一些东西,在fnDrawCallback里面,里面的文件准备好用on()或直接dblckick()但是它永远不会工作;-( 它只适用于我在表元素上设置但是有了它,我没有得到行元素; - (
这是代码:
$(document).ready (function() {
$("#wfTable").dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "server/workflows",
"bScrollInfinite": true,
"bScrollCollapse": true,
"sScrollY": "200px",
"iScrollLoadGap": 50,
"aoColumns": [
{ "sTitle": "Id", "mData": "id" },
{ "sTitle": "Label", "mData": "label" },
{ "sTitle": "Name" ,"mData": "name" }],
"fnDrawCallback": function (oSettings) {
var oTable = $('#wfTable TR');
var theData = oTable.find('TR');
theData.unbind();
// On row click, go to single-view page
theData.dblclick( function (e) {
var iPos = oTable.fnGetPosition( this );
var aData = oTable.fnGetData( iPos );
var iId = aData[0];
});
}
});/*fnServerData bJQueryUI true*/
//$('#wfTable').dblclick( function (e) {
/*$('#wfTable td').on("dblclick", function() {
//target = $(e.target);
//while(target.get(0).tagName != "TR"){
// target = target.parent();
//}
var iPos = oTable.fnGetPosition( this );
var aData = oTable.fnGetData( iPos );
var iId = aData[0];
window.location.href = 'workflow/' + iId;
});*/
});
答案 0 :(得分:0)
我发现了这个:
$('#wfTable').dblclick( function (e) {
target = $(e.target);
while(target.get(0).tagName != "TR"){
target = target.parent();
}
var iPos = oTable.fnGetPosition( target.get(0) );
var aData = oTable.fnGetData( iPos );
var iId = aData.id;
window.location.href = 'workflow/' + iId;
});
无论如何你的代码也必须工作