如何替代键盘按键的默认行为在Silverlight
问题描述:
我使用Silverlight 4.0
,其中我试图开发一个Web application.In这个应用我实现keyboard
快捷键像Ctrl+c,Ctrl+U etc..
在浏览器中同时使用Ctrl+U
,调试窗口打开。是否有任何方法覆盖这些默认行为?如何替代键盘按键的默认行为在Silverlight
答
您可以通过在文档中添加eventListner
来实现此目的。
document.addEventListener('keydown', keydownevent);
function keydownevent (event){
if(event.ctrlKey && event.keyCode == 85){
event.preventDefault();
alert("You have pressed ctrl+u")
}
}
现在文档将一直监听keydown event
。为了消除这个事件中,你需要从文件中删除eventListner当你的页面的socpe结束的
document.removeEventListener('keydown', keydownevent);
答
如果您希望阻止分配的默认操作,则可以使用javascript
。
document.body.onkeydown = function(e){
//verify the control press you want to prevent and call preventDefault()
//ex : if (e.ctrlKey && e.which == 84)
e.preventDefault();
};
我需要访问按Ctrl + U键一起,这是不通过JavaScript访问。 – VVN
@VVN实际上你可以,如果按下Ctrl键,'e.ctrlKey'将是'true'。 http://www.w3schools.com/jsref/event_ctrlkey.asp –