0

私はデータテーブルを使用しており、そのアクションに対してon()関数付きのコンテキストメニューが必要です。関数を使用できます.live()が、jquery の新しいバージョンにアップグレードし、.on()以下のコードを使用するこの方法は機能しません。それを変更するにはどうすればよいですか?

jquery LIVE 関数 (使用しても問題ありません):

$('#showCategories tbody tr').live('contextmenu', function (event) {
    var nTds_showCategories = $('td', this);
    $(oTable_categories.fnSettings().aoData).each(function (){$(this.nTr).removeClass('row_selected');});
    $(event.target.parentNode).addClass('row_selected');
    $('.showCategoriesMenus').css({'top' : event.pageY ,'left' : event.pageX-150});
    $('.showCategoriesMenus').show();
    iId_categories = $(nTds_showCategories[0]).text() ;
    event.returnValue= false;
    return false;
});

この方法は機能しません:

$("#showCategories").on('contextmenu', '#showCategories tbody tr', function(event){
    var nTds_showCategories = $('td', this);
    $(oTable_categories.fnSettings().aoData).each(function (){$(this.nTr).removeClass('row_selected');});
    $(event.target.parentNode).addClass('row_selected');
    $('.showCategoriesMenus').css({'top' : event.pageY ,'left' : event.pageX-150});
    $('.showCategoriesMenus').show();
    iId_categories = $(nTds_showCategories[0]).text() ;
    event.returnValue= false;
    return false;
});

HTML/PHP:

私はdisplayすべてのデータテーブルにクラスを使用しています

echo"
<div id='pane_category' class='scroll-pane' style='height: 364px;'>
    <ul class='styledlist' >
        <table cellpading=0 cellspacing=0 class='display' id='showCategories'>
            <thead>
                <tr>
                    <th style='width:5%;height:12px!important;'>".$popular_messages['id']."</th>
                    <th style='width:95%;'>".$admin_contents['title']."</th>
                </tr>
            <thead>
            <tbody style='line-height:25px;'>
            </tbody>
        </table>
    <ul>
</div>";
4

1 に答える 1