JQuery ...改变焦点上的悬停状态&限制键盘导航选项卡区域

时间:2011-12-23 08:52:20

标签: javascript jquery jquery-ui jqgrid jqgrid-asp.net

我在我的一个项目中使用JQgrid(JFiddle LINK)。并希望

1。)保存&取消按钮以在用户选中时突出显示(与鼠标悬停时相同)。找到这个post但似乎无法使其正常工作

FIX :根据saratis提供的答案

后的

    <table id="theGrid" class="scroll">
    </table>
    <div id="pager" class="scroll" style="text-align: center;">
    </div>

添加以下

    <script type="text/javascript">
        $(document).delegate('a', 'focus', function (event) {
            $(this).removeClass('ui-state-hover'); //Remove previous hightlights
            $(this).addClass('ui-state-hover');
        });

        $(document).delegate('a', 'focusout', function (event) {
            $(this).removeClass('ui-state-hover'); //Remove previous hightlights
        });
    </script>

2。)当用户在添加模式的字段之间进行选项卡时,是否可以将焦点保持在模态上。例如,当标签时,焦点仅在模态本身的控件之间循环

3。)我遇到一个奇怪的问题,寻呼机没有居中,并且不确定修复是什么。我看到106px的属性被添加到pager_left td导致它,它产生了一个值,所以我不知道如何覆盖/禁用它

FIX #pager_left{width:30%!important;}

是否有可能实现这一目标?

谢谢

2 个答案:

答案 0 :(得分:1)

<强>第一

$('.yourInput').bind("mouseenter focus mouseleave", 
        function(event) { 
          $('.highlight').removeClass('highlight'); //Remove previous hightlights
          $(this).addClass('highlight'); 
 }); 

我试图将这个添加到小提琴中,但我认为模态对话框是动态写入DOM的,因此绑定应该在放置后进行。我不知道如何整合它。遗憾。

对于第二部分,可以完成,但是当你为JSDFiddle提供样本甚至更好时,它会更容易。 - &GT;现在看着它,我不知道。我确信JS jQuery Guru很好,但这对我来说太过分了。再次抱歉。

<强>第三: 一些好消息,不知道原因,但是:#pager_left{width:150px!important;}可以解决问题。

对不起,我帮不了多忙。

答案 1 :(得分:0)

使用jQuery检查是否有任何模态字段已经具有焦点。如果是,请在keyup()上触发一个功能,检查是否按下了标签按钮(其键码为9)。

使用此选项将选项卡索引限制为表单。