我不知道为什么,但我已经让它工作了,但今天它停止工作了。基本代码是:
$(document).bind("keydown", function(e){
if (e.keyCode) code = e.keyCode; // für alle Browser
else if (e.which) code = e.which; // für ie
if(code==8) {
$("#outer-frame").fadeOut(400, function (){ //content fade-out
history.back(-1); //gehe einen Schritt in der Browser-History zurück
});
return false; // Browser bricht ab
}
});我还有一个if语句,不知道了,它突然停止工作了。我希望退格键绑定到keydown并执行页面过渡效果。没有问题,只要我想防止整个事情被调用,如果用户在输入字段中点击退格键,他将被重定向到他的历史记录中的最后一页。
请帮帮我!如果有什么东西突然停止工作,那就太烦人了。
我使用了css中的:focus选择器,比如if ( $("input:focus") ...
只想补充说,浏览器切换不是来自我,绑定事件,如果(code==8)是我的编码,淡入淡出和历史,但也没有什么独特的,你会发现很多例子,所以我在研究不同的浏览器行为期间发现了许多例子(我发现了一些类似的代码,但我认为那是jQuery……jQuery太棒了!)。
我对Ken Egozi和SimpleCoder提供的解决方案感到非常高兴,真的要感谢你们的帮助!
发布于 2010-09-20 05:46:40
如果在文本区、文本框或密码框中按了键,则需要继续(返回true)。
添加
if ($(e.target).is("textarea, input[type=text], input[type=password]")) return true;到您的处理程序,在if (code==8)位之前
发布于 2010-09-20 05:54:09
我会这样做:
$(document).bind("keydown", function(e) {
if ((e.target.nodeName.toLowerCase() != "input" && e.target.nodeName.toLowerCase() != "textarea") && e.which == 8) {
$("#outer-frame").fadeOut(400, function() {
history.back(-1);
});
return false; // unterbricht die Verarbeitung durch den Browser
}
});另外,只想让您知道,jQuery会自动规范化e.which属性,因此:
if (e.keyCode)
code = e.keyCode; // für alle Browser
else if (e.which)
code = e.which; // für ie
if (code == 8) {可以写成
if (e.which == 8) {https://stackoverflow.com/questions/3747563
复制相似问题