私はデータテーブルを使用しており、そのアクションに対して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>";