焦点并不适用于chrome的输入

时间:2015-10-13 03:12:28

标签: javascript google-chrome asp-classic

此代码可以在IE上运行,但无法在chrome上输入,

 onkeyup="javscript:if(event.keyCode ==13){frm1.identifyCode.focus();}"

我试图设置超时但仍然无效。

setTimeout(function(){frm1.identifyCode.focus();},0);

4 个答案:

答案 0 :(得分:1)

Excel Gamboa是正确的,向最终功能的转移解决了我的问题。 示例:

jQuery(".search-icon").click(function(){
    var $navbarToggler =  jQuery(".navbar-toggler");
    var $navbarCollapse = jQuery(".navbar-collapse");
    var $mobileSearch =jQuery('.search_mobile_form');
    var $mobileOverlay =  jQuery(".mobile-overlay");
    var $inputSearch = jQuery("#search");
    if( $mobileSearch.is('.show-search') ) {
        $mobileSearch.removeClass('show-search');
        $mobileOverlay.fadeOut();
    }
    else {
        $mobileOverlay.fadeIn("slow");
        $mobileSearch.addClass('show-search');
        $navbarCollapse.removeClass("show").addClass("collapse");
        $navbarToggler.addClass("collapsed");
        $inputSearch.focus();

    }
    return false;
});

答案 1 :(得分:0)

尝试将超时更改为1可能会解决问题。它将具有最小的延迟并减慢chrome的执行速度。我认为这是关于chrome的错误。

setTimeout(function(){frm1.identifyCode.focus();},1);

类似问题jQuery focus not working in Chrome

答案 2 :(得分:0)

调用.focus()后,您可能正在调用指令或函数,导致该字段失焦。尝试将.focus()指令的位置更改为函数的结尾。

注意:如果您使用的是ajax(以防万一),请将焦点指令放在成功通话结束时。

答案 3 :(得分:0)

其价值所在;我遇到了类似的问题,除非我先单击它,否则滚动条DIV不会被键盘滚动。

jQuery的focus()在Firefox中达到了目的,但Chrome却没有。在花了很多时间尝试在线上发现的所有技巧之后,我最终通过在要关注的元素上设置tabindex="0"来解决了该问题,这立即使其可用于Chrome浏览器,从而解决了我的问题!

确保将其设置为0,并且没有其他设置。请参阅the MDN page以供参考。

tabindex =“ 0”表示该元素在顺序键盘导航中应该是可聚焦的,但是其顺序由文档的源顺序定义。