gpt4 book ai didi

javascript - jquery select dropdown 在打开时忽略 keydown 事件?

转载 作者:太空狗 更新时间:2023-10-29 15:20:04 25 4
gpt4 key购买 nike

我试图阻止退格按钮在每个浏览器中返回一页。现在我正在使用这段代码:

$(document).on("keydown", function (e) {
if (e.which === 8 && !$(e.target).is("input, textarea")) {
e.preventDefault();
}
});

除了选择字段下拉列表打开时,它对所有内容都适用,此事件将被忽略,退格键无论如何都会让我返回一页。我怎么解决这个问题?感谢您的回答。

最佳答案

仅供引用,这是特定于 Google Chrome 的,因为您的代码在 IE 和 FF 中运行良好。

如果您真的需要它来工作,您可以渲染一个假的下拉列表,然后以编程方式设置选择。

您可以更改下拉菜单的大小,使其在打开时显示,如下所示: https://jsfiddle.net/yzr2cmqv/

<div clas="select-wrap">
<div class="fake-select"></div>
<select class="select">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</div>

$(".fake-select").on("click", function () {
var numOfOpen = $("select.select option").size();
$(".select").attr("size", numOfOpen).css("overflow", "hidden");
$(this).hide();
});

$(".select").on("click", function () {
$(".select").attr("size", 1);
$(".fake-select").show();
});

除此之外,我认为您无能为力,因为当下拉菜单打开时 Chrome 事件不会触发。

关于javascript - jquery select dropdown 在打开时忽略 keydown 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com