Sil*_*lko 6 html javascript jquery backspace preventdefault
我试图阻止退格按钮在每个浏览器中返回一页.现在我正在使用此代码:
$(document).on("keydown", function (e) {
if (e.which === 8 && !$(e.target).is("input, textarea")) {
e.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
除了打开选择字段下拉列表时,它对所有内容都可以正常工作,此事件将被忽略,退格区无论如何都会返回一页.我怎么解决这个问题?谢谢您的回答.
小智 2
仅供参考,这是 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();
});
Run Code Online (Sandbox Code Playgroud)
除此之外,我认为您无能为力,因为当下拉菜单打开时 Chrome 事件不会触发。