簡體   English   中英

對於jquery插件數據表,為什么click事件不起作用?

[英]For the jquery plugin datatables, why the click event not functioning?

我正在使用數據表,這是使用jQuery生成表的簡單而強大的工具

參考鏈接在這里:您也可以在該網站上嘗試。

https://datatables.net/

問題是,例如,我有一個包含20行的表。 如果每頁顯示10行,則有兩頁。 並且對於每一行,都有一個按鈕,我捕獲了該按鈕上的click事件。 例如

$('.row_button').on('click',function()){
....
});

問題是,對於第一頁按鈕,單擊事件可以觸發,但對於其他頁面則不能,單擊腳本的任何響應在chrome開發人員中都沒有錯誤。 我認為頁面導航按鈕會影響click事件。 但是如何解決呢? 謝謝

除了上面的答案,實際上官員已經有了這個答案

最常見的常見問題

問:我的活動在第二頁上不起作用

答:將事件附加到由DataTables控制的表中的單元格上時,您需要小心如何完成此操作。 因為DataTables從DOM中刪除了節點,所以使用靜態事件偵聽器應用的事件可能無法將自身綁定到表中的所有節點。 為了克服這個問題,只需使用jQuery委托的事件偵聽器選項,如本示例所示。 另外,您可以使用Visual Event書簽來幫助調試事件問題。

參考: http : //datatables.net/faqs/#events

 $('#example tbody').on('click', 'tr', function () {
        var name = $('td', this).eq(0).text();
        alert( 'You clicked on '+name+'\'s row' );
    } );

優雅與作品

經過一番搜索,我設法得到一個丑陋的解決方案,看來問題是由每個頁面都是動態添加到頁面引起的,但是,“ on”的jQuery無法正常工作,我對此一無所知。 最終這段代碼是可行的。

   $('#data_table').dataTable({
            "fnDrawCallback": function() {
                $('.showDetail').unbind('click');
                $('.showDetail').on('click', function() {
                ...........
                });
            }
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM