阻止BACKSPACE返回jQuery(与Google主页一样)

注意,在Google的首页上,没有关注任何元素,按下BACKSPACE会将焦点放到搜索工具栏中,而不是返回。

我怎样才能做到这一点?

我一直在用我的应用程序遇到这个问题。 他们没有专注于任何元素,并击中将其抛出应用程序的BACKSPACE。


如果我们正在处理textareainput之外的退格键,我会将事件处理函数绑定到keydown并阻止该事件的默认操作:

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

我真的很喜欢安德鲁·惠特克的回答。 但是,如果将焦点放在只读,无线电或复选框输入字段上,并且不会允许在contentEditable元素上退格,我将添加一些细微的修改。 值得一提的是安德鲁惠特克。

$(document).on("keydown", function (e) {
    if (e.which === 8 && !$(e.target).is("input:not([readonly]):not([type=radio]):not([type=checkbox]), textarea, [contentEditable], [contentEditable=true]")) {
        e.preventDefault();
    }
});

目前似乎有必要在[contentEditable]!= [contentEditable = true]之后让HTML中的每个变体[contentEditable]都在HTML中。


谷歌这样做有点酷。 当你按下退格键时,他们将焦点放在文本框上。 防止用户导航回来!

你可以尝试一样的:

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<input id="target" type="text" />

<script type="text/javascript">
$(document).keydown(function(e) { if (e.keyCode == 8) $('#target').focus(); });
</script>

演示:http://jsfiddle.net/epinapala/TxG5p/

链接地址: http://www.djcxy.com/p/19381.html

上一篇: Prevent BACKSPACE from navigating back with jQuery (Like Google's Homepage)

下一篇: Javascript operator !==