.keydown(function(e){
alert(e.keyCode);
...
此代码确实会将“退格”按钮的键返回为8。问题是,浏览器会将我带回历史记录!
这是Windows浏览器中最烦人的行为,我只是想用删除和退格键清除列表框值。我讨厌这种行为,在IE和Chrome中完全一样。
有任何想法可以利用退格键吗?
.keydown(function(e){
alert(e.keyCode);
...
此代码确实会将“退格”按钮的键返回为8。问题是,浏览器会将我带回历史记录!
这是Windows浏览器中最烦人的行为,我只是想用删除和退格键清除列表框值。我讨厌这种行为,在IE和Chrome中完全一样。
有任何想法可以利用退格键吗?
只需使用preventDefault()
:
$(document).keydown(function(e){
if ( e.keyCode == 8 ) e.preventDefault();
});
请注意,这将防止退格键在输入字段中起作用。可以使用以下方法轻松解决此问题:
$(document).keydown(function(e){
if ( e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
e.preventDefault();
}
});
使用preventDefault(),并作为额外的保护措施,您可以使用onbeforeunload事件来警告用户,如果他们离开您的页面
tagName
而不是tagNmae
。我已经修复了。抱歉打错字了。 - Joseph Silber