我正在尝试显示字体真棒'?'当用户按住“alt”键时,在具有“。info”类的每个元素之后。它似乎工作,但当我释放“Alt”并尝试再次按下时没有任何反应。但是,当我点击文档时,它再次起作用。请参阅代码示例:
jQuery(document).ready(function ($) {
var keyDown = false;
$(document).on("keydown", function (e) {
console.log(keyDown);
if (e.key == "Alt") {
if (!keyDown) {
$('.info').each(function () {
$(this).after("<a style=\"color:black;postion:absolute;\"><i class=\"fas fa-info-circle\"></i></a>");
});
}
keyDown = true;
}
});
$(document).on("keyup", function (e) {
if (e.key == "Alt") {
console.log("alt released");
$('.info').each(function () {
$(".fa-info-circle").remove();
});
keyDown = false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="info">Test</p>
编辑:当使用另一个密钥(我测试“我”)它似乎工作正常,所以我认为这可能是一个Chrome问题。
答案 0 :(得分:1)
Chrome有许多使用alt的键盘快捷键 - 例如alt + home会将您带到主页。
您可以在此处查看所有快捷方式:
https://support.google.com/chrome/answer/157179?hl=en-GB
如果您想覆盖Chrome的行为(我不推荐),您可以将e.preventDefault()
添加到您的keydown功能。