我可以拦截IE上的控制 – 按键吗?

我正在尝试使用jQuery拦截我的网页上的控件 – 一个按键,如下所示:

$(document).keypress(function (event) { if (event.ctrlKey && (event.which == 65 || event.which == 97)) { event.preventDefault(); // ... } }); 

这适用于Firefox,但在IE7上,我的事件处理程序不会被调用,而且页面上的所有文本都会被选中(就像在没有事件处理程序的Firefox上一样)。

有什么方法可以拦截IE上的控件-A?

这适用于我在FF 3.5和IE7下:

  $(function() { var isCtrl = false; $(document).keyup(function (e) { if(e.keyCode == 17) isCtrl = false; }).keydown(function (e) { if(e.keyCode == 17) isCtrl = true; if(e.keyCode == 65 && isCtrl == true) { alert('Intercepted CTRL+A'); e.preventDefault(); } }); }); 

如果在事件处理程序中返回false,则它将取消浏览器行为。 根据浏览器的不同,它可能会有不同的行为(例如,在keydown取消后,keypress仍然会在firefox上触发,而IE会停止它)。