您需要將dropmenu附加到body和一些css以隱藏固定列溢出。
您可以根據需要調整代碼。
檢查工作演示HERE
CSS:
.DTFC_RightBodyLiner {
overflow: hidden!important;
}
JS:
$(document).ready(function() {
var oTable = $('table').dataTable({
bFilter: false,
ordering: false,
sScrollX: "100%",
fixedColumns: {
leftColumns: 0,
rightColumns: 1
},
pagingType: "full_numbers",
"sDom": '<"top">rt<"bottom"ifp><"clear">',
});
$('.btn').click(function() {
dropmenuPostion();
})
function dropmenuPostion() {
// hold onto the drop down menu
var dropdownMenu;
// and when you show it, move it to the body
$(window).on('show.bs.dropdown', function(e) {
// grab the menu
dropdownMenu = $(e.target).find('.dropdown-menu');
// detach it and append it to the body
$('body').append(dropdownMenu.detach());
// grab the new offset position
var eOffset = $(e.target).offset();
// make sure to place it where it would normally go (this could be improved)
dropdownMenu.css({
'display': 'block',
'top': eOffset.top + $(e.target).outerHeight(),
'left': eOffset.left - 50
});
});
// and when you hide it, reattach the drop down, and hide it normally
$(window).on('hide.bs.dropdown', function(e) {
$(e.target).append(dropdownMenu.detach());
dropdownMenu.hide();
});
}
});
謝謝主席先生! ...似乎解決問題。一個小錯誤*無法點擊另一個下拉菜單仍然打開*。 – Cataclysm
@Cataclysm在codepen中正常工作。 –
耶!謝謝你,先生 。我知道了。作爲代碼,事件將一次又一次嵌套。現在,我在文檔準備好之後爲'$(window).on('show.bs.dropdown''和'$(window).on('hide.bs.dropdown')添加了事件處理函數,它可以很好地工作。非常感謝主席先生,以下是JS Fiddle中的最新更新代碼,您可以使用https://jsfiddle.net/jwyeuh8m/22/。祝您有美好的一天先生。 – Cataclysm