在JavaScript中,which
并不是一个内置的关键字或函数。但是,which
常常作为事件处理程序的一个属性出现,用于确定触发事件的键或按钮。以下是关于 which
在JavaScript中的相关信息:
在浏览器环境中,当用户与键盘或鼠标交互时,会触发相应的事件。对于键盘事件,如 keydown
、keyup
和 keypress
,可以通过事件对象的 which
属性来确定按下了哪个键。对于鼠标事件,如 click
、mousedown
和 mouseup
,which
属性可以用来确定点击了哪个鼠标按钮。
使用 which
属性可以帮助开发者编写更加精确的事件处理逻辑,例如,可以根据不同的按键或鼠标按钮执行不同的操作。
which
属性返回一个数字,表示按下的键或鼠标按钮的代码。
which
document.addEventListener('keydown', function(event) {
var key = event.which;
if (key === 65) { // 65 是 'A' 键的键码
console.log('A键被按下了');
} else if (key === 66) { // 66 是 'B' 键的键码
console.log('B键被按下了');
}
});
which
document.addEventListener('click', function(event) {
var button = event.which;
if (button === 1) {
console.log('左键被点击了');
} else if (button === 2) {
console.log('中键被点击了');
} else if (button === 3) {
console.log('右键被点击了');
}
});
which
属性在一些旧的浏览器中可能不被支持,现代浏览器普遍支持。event.key
或 event.code
属性,因为它们提供了更直观和易读的键值表示。对于键盘事件,可以使用 event.key
来获取按下的键的字符,或者使用 event.code
来获取物理键的位置。例如:
document.addEventListener('keydown', function(event) {
console.log('按下的键是:', event.key); // 输出按下的键的字符
console.log('键的位置是:', event.code); // 输出键的物理位置
});
对于鼠标事件,event.button
属性也可以用来确定点击了哪个鼠标按钮,其值与 which
相同,但 event.button
是标准属性,而 which
是非标准的,尽管它在大多数现代浏览器中仍然可用。
领取专属 10元无门槛券
手把手带您无忧上云