如何使用jquery重置keydown函数?
例如,我有两个ul数据列表,每个都有一个document.keydown方法来控制向左或向右滚动。
$(document.keydown(function(e1)
{
// ul list 1 - insert data
if(e.which == leftArrowKey1)
{
// scroll left
}else if(e.which == rightArrowKey1 || e.which == spacebarKey1)
// scroll right
}
});
$(document.keydown(function(e2)
{
// ul list 2 - insert data
if(e2.which == leftArrowKey2)
{
// scroll left
}else if(e2.which == rightArrowKey2 || e2.which == spacebarKey2)
// scroll right
}
});
问题是在我向左或向右滚动第一个列表之后,即使我将数据插入其中,我也可以滚动其他列表。例如,我将数据插入到列表A中,并且可以成功向左或向右滚动。现在我将数据插入到列表B中,我无法向列表B的左侧或右侧滚动,它继续滚动列表A.
答案 0 :(得分:1)
我认为您需要稍微阅读keydown
功能。该页面上的示例将适合您。
此外,您的代码存在一个小问题,
$(document.keydown(e1)
{
// Your code
});
应该是
$(document).keydown(function(e1)
{
// Your code
});
同时处理两个列表的最简单方法是给他们一个类,让我们说scrollable
。您需要做的一件事是在tabindex
元素中添加ul
属性,以便它们可以集中精力:<ul class="scrollable" tabindex="1">
。在keydown
事件触发之前,您必须单击要滚动的列表。
注意:每个ul
都需要一个唯一的tabindex(将第二个列表设为tabindex=2
)
现在jQuery非常简单:
$('ul.scrollable').keydown(function(event)) {
// Your scrolling code
}