如何使用jquery重置keydown函数?

时间:2011-12-08 01:49:47

标签: jquery

如何使用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.

1 个答案:

答案 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
}