我需要使用JavaScript检测当我点击HTML页面上的一个控件时是否按下了CTRL键。
我该如何实现?
我需要使用JavaScript检测当我点击HTML页面上的一个控件时是否按下了CTRL键。
我该如何实现?
document.body.onclick = function (e) {
if (e.ctrlKey) {
alert("ctr key was pressed during the click");
}
}
<p>Click me, and sometimes hold CTRL down!</p>
我使用这个,效果很好
<a href="" onclick="return Details(event)" ></a>
function Details(event) {
if (event.ctrlKey) {
alert('Ctrl down');
}
}
// Check whether control button is pressed
$(document).keydown(function(event) {
if (event.which == "17")
cntrlIsPressed = true;
else if (event.which == 65 && cntrlIsPressed) {
// Cntrl+ A
selectAllRows();
}
});
$(document).keyup(function() {
cntrlIsPressed = false;
});
var cntrlIsPressed = false;
window.event.ctrlKey
替代此方法。 - Mikael Dúi BolindercntrlIsPressed = false;
的逻辑是不正确的,因为用户可能会按下Ctrl +其他键,然后释放另一个键(这将生成keyup
事件),而Ctrl仍然处于按下状态。此外,在这里使用jQuery过度了。 - Dan Dascalescu
e.metaKey
的metaKey
属性。 - romek