как прикрепить window.close к событию нажатия клавиши cntrl + w в окне xul? - PullRequest
2 голосов
/ 07 апреля 2010

У меня есть окно XUL, и я хочу, чтобы горячая клавиша cntrl + w закрывала окно, но когда я прикрепляю:

window.addEventListener("keypress", function(ev) {
  GM_log("onkeypress handler: \n"
  + "keyCode property: " + ev.keyCode + "\n"
  + "which property: " + ev.which + "\n"
  + "charCode property: " + ev.charCode + "\n"
  + "Character Key Pressed: "
  + String.fromCharCode(ev.charCode) + "\n");
}, true);

на странице, она обрабатывает нажатие 'w' и 'cntrl + w' одинаково, charCode 119 .. как я могу определить, что cntrl + w был нажат, чтобы я мог window.close ()?

Ответы [ 2 ]

3 голосов
/ 09 мая 2010

В XUL это делается:

<keyset>
   <key id="key_close" key="W" modifiers="control" oncommand="window.close();" />
</keyset>

см. учебник xul - сочетания клавиш

1 голос
/ 07 апреля 2010

используйте ev.ctrlKey, чтобы определить, нажата ли клавиша ctrl (это логическое значение).

...