阻止BACKSPACE返回jQuery(与Google主页一样)
注意,在Google的首页上,没有关注任何元素,按下BACKSPACE会将焦点放到搜索工具栏中,而不是返回。
我怎样才能做到这一点?
我一直在用我的应用程序遇到这个问题。 他们没有专注于任何元素,并击中将其抛出应用程序的BACKSPACE。
如果我们正在处理textarea
或input
之外的退格键,我会将事件处理函数绑定到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)