我正在尝试使用jQuery拦截我的网页上的控件-A按键,如下所示:
$(document).keypress(function (event) {
if (event.ctrlKey && (event.which == 65 || event.which == 97)) {
event.preventDefault();
// ...
}
});
这适用于Firefox,但在IE7上,我的事件处理程序不会被调用,而且页面上的所有文本都会被选中(就像在没有事件处理程序的Firefox上一样)。
有什么方法可以拦截IE上的控件-A?
答案 0 :(得分:6)
对我来说,这适用于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();
}
});
});
答案 1 :(得分:0)
如果在事件处理程序中返回false,则它将取消浏览器行为。根据浏览器的不同,它可能会有不同的行为(例如,在keydown取消后,keypress仍然会在firefox上触发,而IE会停止它。)