我有一個表格,您可以選擇一個元素,然後當您按下向上或向下箭頭鍵時,將選擇下一個或上一個表格行。如果元素不在窗口視圖中滾動
爲此,我創建了以下的jQuery:
$(document).keydown(function(e) {
var ar=new Array(33,34,35,36,37,39);
if(selected_row_id != null){
var key = e.which;
// up
if(key == 38){
$('#'+selected_row_id).prev().trigger('click');
e.preventDefault();
}
//down
if(key == 40){
$('#'+selected_row_id).next().trigger('click');
e.preventDefault();
}
if($.inArray(key,ar) > -1) {
e.preventDefault();
return false;
}
return true;
}
});
這工作得很好但是它有一個錯誤,這讓我很煩。當表格行比實際在屏幕上看到的更遠(意味着您將不得不滾動)時,窗口不會自動滾動。
我的問題是如何確保窗口在元素在屏幕上不可見時滾動?
嘗試檢查元素的頂部偏移量是否在窗口的高度內 – kei