【问题标题】:Permission denied IE8 on jquery keypress (enter)jquery keypress 上的权限被拒绝 IE8(回车)
【发布时间】:2012-07-17 06:14:28
【问题描述】:

IE8 不断抛出错误权限被拒绝

  • jquery-1.7.2.min.js |行:2,字符:21695
  • jquery-1.7.2.js |行:1712,字符:4

(取决于我使用的版本)。

当我按 Enter 键时会发生这种情况(function on 'Enter' 会在 tabindexes 周围跳转)。它只发生在使用 IE8 的特定服务器和特定 PC 组上。

[编辑] 调用时会发生这种情况

$("[TabIndex='"+tabindex+"']").focus()
$("[TabIndex='"+tabindex+"']").blur()

完整代码

//WALKING with ENTER
        var tabindex = 1; //start tabindex || 150 is last tabindex
        $(document).keypress(function(event) {
            var keycode = (event.keyCode ? event.keyCode : event.which);
            if(keycode == '13') { //onEnter
                if($("[TabIndex='"+tabindex+"']").attr('id') == 'submit_btn'){ //if on 'sbm - button' click!
                    $("#submit_btn").click();
            return false;
                };
                $("[TabIndex='"+tabindex+"']").blur()//.removeClass('highlight_input');
                tabindex++;
                //while element exist or it's readonly and tabindex not reached max do
                while(($("[TabIndex='"+tabindex+"']").length == 0 || $("[TabIndex='"+tabindex+"']:not([readonly])").length == 0) && tabindex != 150 ){
                    tabindex++;
                }
                if(tabindex == 150){ tabindex = 1 } //reseting tabindex if finished
                $("[TabIndex='"+tabindex+"']").focus()//.addClass('highlight_input');
                return false;
            }
        });

我只能重现此错误 注销/重新登录 Windows(XP) -> 返回此界面并按“Enter”。 F5 后:一切正常。

以前有没有人经历过这样的事情?

【问题讨论】:

  • 检查一下,它可能会有所帮助:stackoverflow.com/questions/11502122/…
  • 这样不会返回 ie8 上被拒绝的权限
  • 此时我无法访问 test-srv,但我认为问题不在于事件的“onEnter”如何举行,而是 jquery 如何对 $(" 等选择器做出反应[TabIndex='"+tabindex+"']").focus()。无论如何,一旦我到达 srv,我将尝试你的解决方案。谢谢

标签: php jquery html internet-explorer-8


【解决方案1】:

在调用 blur()focus() 时出现问题,所以我必须找到解决方法。任务是调用(几乎)纯 javascript 而不是调用 jquery 焦点/模糊。

//Focus workaround for IE8 (exception)
var elid = $('input[tabindex='+tabindex+']').attr("id");
var element = document.getElementById(elid); 
element.blur(); 

var elid = $('input[tabindex='+tabindex+']').attr("id");
var element = document.getElementById(elid); 
element.focus(); 

而不是

$("[TabIndex='"+tabindex+"']").blur()
$("[TabIndex='"+tabindex+"']").blur()

如果您有任何问题,请发表评论 或者你也遇到过同样的问题。

【讨论】:

    猜你喜欢
    • 2013-12-15
    • 1970-01-01
    • 2021-09-04
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多