1 javascript keyboard-shortcuts
例如,在Gmail中,当按下Ctrl+时B,而不是将其传递给浏览器(通常会显示某种书签管理器),它会出于格式化目的而劫持它,即打开邮件的粗体格式.中间的.Ctrl+ i,Ctrl+ 相同u.
这是怎么做到的?
您可以将一个onkeydown或onkeyup事件处理程序附加到全局document对象.例如,如果我想在每次按下Ctrl-M时将标题栏更改为"asdf",我将通过注册事件处理程序window.onload,如下所示:
window.onload = function()
{
document.onkeydown = function(event)
{
var keyCode;
if (window.event) // IE/Safari/Chrome/Firefox(?)
{
keyCode = event.keyCode;
}
else if (event.which) // Netscape/Firefox/Opera
{
keyCode = event.which;
}
var keyChar = String.fromCharCode(keyCode).toLowerCase();
if (keyChar == "m" && event.ctrlKey)
{
document.title = "asdf";
return false; // To prevent normal minimizing command
}
};
};
Run Code Online (Sandbox Code Playgroud)
W3Schools提供了有关使用这些活动的更多信息:onkeydown和onkeyup.
此外,我想我应该注意到,各种浏览器在事件属性方面存在一些差异(例如,在Firefox中,你应该通过访问密钥代码event.which,而在IE浏览器中event.keyCode,虽然Firefox可能支持event.keycode-confusing ,不是吗?).因此,我建议通过JavaScript框架(例如Prototype或jQuery)来完成这些工作,因为它们会为您处理所有棘手的兼容性内容.
| 归档时间: |
|
| 查看次数: |
1977 次 |
| 最近记录: |