Jquery DataTables仅在单击图标时响应展开/折叠(从单击事件中排除单元格中的其他内容)

Jquery DataTables仅在单击图标时响应展开/折叠(从单击事件中排除单元格中的其他内容),jquery,datatables,Jquery,Datatables,我知道解决这个问题的办法是在自己的列中有展开/折叠图标,但是,对于我正在使用的应用程序,我希望图标与单元格内容一起出现在第一列中,在本例中是一个复选框 选中/取消选中复选框时,第一列中的展开/折叠图标将触发DataTables行的展开/折叠。是否有办法仅通过图标触发展开/折叠(即排除所有其他单元格内容) 我所尝试的: 似乎展开/折叠已绑定到单元格(td)单击事件 图标由cell(td)DOM元素上的css:before生成 因此,我尝试检测已单击的DOM元素,如果不是td,则停止展开/折叠,

我知道解决这个问题的办法是在自己的列中有展开/折叠图标,但是,对于我正在使用的应用程序,我希望图标与单元格内容一起出现在第一列中,在本例中是一个复选框

选中/取消选中复选框时,第一列中的展开/折叠图标将触发DataTables行的展开/折叠。是否有办法仅通过图标触发展开/折叠(即排除所有其他单元格内容)

我所尝试的:

  • 似乎展开/折叠已绑定到单元格(td)单击事件
  • 图标由cell(td)DOM元素上的css:before生成
  • 因此,我尝试检测已单击的DOM元素,如果不是td,则停止展开/折叠,但仍会发生展开/折叠事件

    // class .wpsc_ticket_row on tr DOM element captures click event to open ticket
    jQuery( document ).on( 'click', '.wpsc_ticket_row', function( e ) {
    
        //  captures clicked DOM element
        var cell = jQuery( e.target );
    
        // check if clicked DOM element is td
        if ( cell.is( 'td' ) ) { 
    
            // exclude first column from opening ticket by detecting wpsc_exclude class
            if ( !cell.hasClass( 'wpsc_exclude' ) ) { 
    
                // get ticket id
                var ticketId = jQuery( this ).data( 'id' ); 
    
                // open ticket
                addOpenTicket( ticketId, true ); 
    
            }
    
        // if clicked DOM element is not td check closest td for wpsc_exclude
        } else if ( !cell.closest( 'td' ).hasClass( 'wpsc_exclude' ) ) { 
    
            // get ticket id
            var ticketId = jQuery( this ).data( 'id' ); 
    
            // open ticket
            addOpenTicket( ticketId, true ); 
    
        } else {
    
            // if clicked DOM element not td and does not have class wpsc_exclude stop all events
            e.stopPropagation(); // e.stopImmediatePropagation()
    
        }
    
    }
    

如有任何建议,我们将不胜感激。TIA

为什么不将click listener设置为所需元素,而不是wpsc\u ticket\u row?该表包含支持票据列表。单击除第一个单元格外的任何单元格中的行将打开“您的问题”选项,以便仅在图标上设置侦听器而不是整行?侦听器仅由图标触发展开/折叠,不包括单元格中的所有其他元素。行中的其他单元格与问题无关。单元格包含图标和复选框。如果选中的复选框发生了我不想发生的扩展/折叠,则不能选择:使用jquery之前和:之后。你需要一个黑客。我建议在图标的上层(复选框旁边)放置一个透明的相对定位元素。