用于“ctrl”的JavaScript或Jquery事件处理程序+更改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于“ctrl”的JavaScript或Jquery事件处理程序+更改相关的知识,希望对你有一定的参考价值。
每次(有或没有CTRL按下),我得到相同的日志; control is not pressed
。有人可以解释一下是什么原因。
$("Selector").on("change",function(e){
if(e.ctrlKey){
console.log("ctrl is pressed");
}
else{
console.log("ctrl is not pressed");
}
});
答案
原因是因为change事件不包含键盘信息。为此,您需要在CTRL键的keydown上设置的父元素上设置一个标志,并在发生更改事件时检查该标志是否为true
像这样的东西:
var ctrlKeyHeld = false;
$(document).keydown(function(e) {
ctrlKeyHeld = e.ctrlKey;
}).keyup(function() {
ctrlKeyHeld = false;
})
$("#foo").on("change",function(e){
if (ctrlKeyHeld){
console.log("ctrl is pressed");
}
else{
console.log("ctrl is not pressed");
}
});
以上是关于用于“ctrl”的JavaScript或Jquery事件处理程序+更改的主要内容,如果未能解决你的问题,请参考以下文章
javascript tamañojavascriptstring dimensiones dinamicamente ancho texto nodo dom elemento jquer
CSS 或 Javascript 禁用从 CTRL + A 突出显示的文本选择