我目前正在尝试更改多选元素的默认行为,以便用户可以选择和取消选择多个值,而无需一直按 Ctrl 键。
我找到了一个简单的解决方案 here ,但这在 ie8 中不起作用(因为在 ie 中, onmousedown
does not apply to option elements )。
但我想,只要鼠标悬停在多选上,就可以模拟按下的控制键:
$(document).ready(function() {
$('select').hover(function(e) {
var kde = jQuery.Event("keydown");
kde.ctrlKey = true; //something like this
kde.keyCode = 17; //or this - i don't know
$(e.target).trigger(kde);
});
});
为什么这不起作用?
- Ctrl键是不是又直接松开了?
- 代码有问题吗?
- 我是否完全遗漏了其他东西?
最佳答案
您无法通过编程方式按下键盘按钮来模拟此类事件,就像您无法通过在用户按下 ashift 键来生成大写字母 A > 他们键盘上的键。此外,即使它会起作用,它也不会起作用:在 Mac 上,您按 cmd 而不是 ctrl 来选择多个元素。
很遗憾,您将不得不放弃这种方法并寻找其他选择。
关于javascript - 模拟按住 Ctrl 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396182/