Различие в поведении между окном и безокном состоит в том, что для оконного (windowless=false
) элемента управления Windows может сначала отправить сообщение с ключом в это окно, прежде чем любой родитель (в данном случае IE) сможет его обработать. Таким образом, Silverlight может управлять им и отменять его до того, как IE его получит, тогда как безоконный IE отправляет событие ключа элементу управления, чтобы иметь возможность с ним справиться.
Я не уверен, как вы можете проглотить нажатие клавиши в Silverlight, но в JavaScript вы можете отменить его, используя event.returnValue
, e.preventDefault()
или return false
в зависимости от того, какой браузер вам нужно поддерживать. Приведенный ниже фрагмент отменяет большинство нажатий клавиш в IE9, включая F12.
document.addEventListener("DOMContentLoaded", function(){
document.addEventListener("keydown", function(e){
window.event.returnValue=false;
e.preventDefault();
return false;
});
});