我在純HTML表中使用Allan Jardine的KeyTable插件。這是一張大桌子,所以它可以水平和垂直滾動。我現在面臨的問題是,當聚焦細胞不在視線內時它不會自動滾動(因爲它具有.focus類,所以知道當前細胞)。使用鍵盤插件時自動滾動
如何在使用鍵盤時自動滾動?
謝謝。
我在純HTML表中使用Allan Jardine的KeyTable插件。這是一張大桌子,所以它可以水平和垂直滾動。我現在面臨的問題是,當聚焦細胞不在視線內時它不會自動滾動(因爲它具有.focus類,所以知道當前細胞)。使用鍵盤插件時自動滾動
如何在使用鍵盤時自動滾動?
謝謝。
我個人使用jQuery的nice scrollintoview插件:https://github.com/litera/jquery-scrollintoview。
我自己的代碼,這是好的,但還不夠完善,是這樣的:
var anim_element = $();
var keys = new KeyTable({
"table": t,
focus: false,
});
keys.event.focus(null, null, function(cell, posx, posy) {
/* handler for focus events on all cells ... */
anim_element.stop();
var row = $(cell).parents("tr").first();
anim_element = row.stop().scrollintoview({ duration: 50, direction: 'y'});
});
請注意,您必須停止動畫時,下一個焦點事件開始,但這樣做,你必須有以前的動畫元素存儲在某處。這是我的代碼的一部分,仍然有點粗糙。
希望它有幫助。
嘗試在數據表選項使用scrollX和scrollY
scrollX: true, // For Horizontal Scrolling
scrollY: "600px" // For Verticle Scrolling (define the pixels when scrolling should Start)
參考:
https://datatables.net/reference/option/scrollX
https://datatables.net/reference/option/scrollY
它爲我工作。我也使用KeyTable檢查它,它工作正常。
我喜歡你在這裏給出的選項。最後,我選擇了一個自定義解決方案,作爲備用答案發布。我會試試看,如果有效,請接受你的答案。謝謝。 – mattosmat