将注意力集中在jQueryUI菜单项上,其中侦听器比单击侦听器更广泛

时间:2016-08-08 18:14:41

标签: javascript jquery jquery-ui

我已经定义了一个标识为leftmenu的jQueryUI菜单,并且在其列表元素上,我已经定义了一个单击一个项目的函数,如下所示:

$('#leftmenu>li').click(function () {
    var clickedId = this.id;
    $.ajax({
        type: "POST",
        cache: false,
        url: "/Session/Index/",
        success: function (result) {
            if (result.length > 0)
            {

                performListItemAction(clickedId);
            }
            else
            {

                window.location.href = '/Home/Index/'
            }
        }
    });
});

这样可以正常工作,但现在我想更改它,以便在菜单项上取代click,而不是以更一般的方式捕获该项目的焦点和选择,例如使用键盘。目前,我可以使用键盘上的向上和向下键浏览菜单,但不会调用内部代码。我知道这是因为它只应该发生在click上,但是当我尝试activatefocus代替click时,同样的事情也开心了。 / p>

如何以更一般的方式使其执行与click相同的行为,以捕获选择并输入菜单项?

谢谢。

1 个答案:

答案 0 :(得分:1)

这应该在galleryData事件中完成。这样,它可以从重点键盘操作中捕获selectclick

示例:https://jsfiddle.net/Twisty/v671x6ns/

<强>的jQuery

select