我需要让 JQuery SmoothDivScroll 插件与箭头键盘键一起使用 - 左右键应该滚动内容,就像鼠标滚轮和热点一样。如何使用自定义 JQuery 代码实现这一点?
问问题
768 次
1 回答
0
我解决了。解决方案并不漂亮,但有效。此外,代码片段应移动到单独的代码文件中。TODO:重构。
1) "scrollableArea" div 应该有属性tabindex。2) 在插件代码文件中,应将以下代码语句添加到_create函数中。它应该被重构,因为目前它是从鼠标滚轮事件处理程序中大量复制的
r.data("scrollableArea").keydown(function (e) {
var arrow = { left: 37, up: 38, right: 39, down: 40 };
var i,s,u;
switch (e.keyCode || e.which) {
case arrow.left:
i = 1;
s = 0;
u = 1;
break;
case arrow.right:
i = -1;
s = 0;
u = -1;
break;
}
if (r.data("enabled") && n.mousewheelScrolling.length > 0) {
var a;
n.mousewheelScrolling === "vertical" && u !== 0 ? (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * u * -1), t.move(a)) :
n.mousewheelScrolling === "horizontal" && s !== 0 ? (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * s * -1), t.move(a)) :
n.mousewheelScrolling === "allDirections" && (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * i * -1), t.move(a));
}
}),
于 2013-03-29T17:48:19.413 回答