在ie中使用javascript中的window.showmodaldialog(其中选项不显示任何地址栏或工具栏)创建对话框时,按alt键的行为是做了一些不需要的事情。
当焦点在模式对话框上时,按alt键-alt键按下事件由我的javascript代码处理很好,但无论我是否允许事件继续冒泡-看起来ie总是将焦点跳到模式对话框中的“隐藏”菜单。您可以通过按Alt键,然后按空格键,从模式对话框进入此菜单。
事件顺序:
-
在模式对话框中,用户点击alt键
-
我的事件处理代码捕获这个alt键并执行一些操作
-
用户点击另一个键
-
我的事件处理代码(对于任何keyup)都没有执行,看起来像b/c,焦点在alt+space菜单上,最后一个按键将焦点跳回到模式对话框
-
用户点击另一个键
-
我的事件处理代码正常执行
以下是我提供的功能
showModalDialog
以下内容:
var strFeatures = "unadorned:yes,resizable:no;scroll:yes;help:no;status:no;";
在按下模式对话框的alt键后,是否仍要防止焦点指向隐藏菜单?使用window.open创建普通窗口时-此行为不会发生,并且按alt键不会转到隐藏菜单(假设menu bar为off,address bar为off等)。