Javascript 在Internet explorer中多次触发onfocus事件

Javascript 在Internet explorer中多次触发onfocus事件,javascript,events,onfocus,Javascript,Events,Onfocus,代码是向页面上的一些按钮添加一些访问键。界面如下: 主页上有一些手风琴选项卡,比如说手风琴A、手风琴B和手风琴C,在“手风琴A”选项卡中有一个按钮A,对于该按钮A,添加了一个热键(例如:ALT+D),按下该按钮将调用该按钮相关功能 if ( _browser.isIE ) text += " href='javascript:void(0)'" + " onfocus='KeyPressed(\"" + key + "\")'><

代码是向页面上的一些按钮添加一些访问键。界面如下: 主页上有一些手风琴选项卡,比如说手风琴A、手风琴B和手风琴C,在“手风琴A”选项卡中有一个按钮A,对于该按钮A,添加了一个热键(例如:ALT+D),按下该按钮将调用该按钮相关功能

    if ( _browser.isIE )
        text += " href='javascript:void(0)'" +
                " onfocus='KeyPressed(\"" + key + "\")'></A>";
     else
        text += " href='Javascript:KeyPressed(\"" + key + "\")'></A>";
if(_browser.isIE)
text+=“href='javascript:void(0)'”+
“onfocus='KeyPressed(\”“+键+\”)”>”;
其他的
text+=“href=”Javascript:KeyPressed(\”“+key+“\”)”>”;
首先打开页面,让我们假设accordion_C是默认选项卡,现在我转到accordion_A,现在热键被添加到accordion_A(延迟选项卡)上的按钮中。现在我再次返回到accordion_C并按下'ALT+D'来调用accordion_A上的按钮。按钮函数调用并打开一个弹出窗口。问题从这里开始,在IE中,当我关闭弹出窗口时,再次触发onfocus事件,这将永远持续下去


有什么办法可以克服这种现象吗,谢谢阅读,希望我能说清楚。

试着在按键功能中添加这个

 event.cancelBubble = true;
 if (event.stopPropagation) event.stopPropagation();   

剩下的代码会很好。。。可能问题是关闭弹出窗口后,焦点返回到最后一个元素。如果是这种情况,您必须想出一种方法,在focus上注销focus事件,然后在blur上重新注册它。仍然。。。如果没有其余的代码,我就无法提供更多的帮助是的,这似乎是个问题,但是如果我与按钮处于同一选项卡中,调用alt+d并关闭弹出窗口,它将不会再次出现。我将查看是否可以获得其他代码。谢谢,我将尝试建议如果这不起作用,如果可能的话,请发布所有代码。