跨浏览器捕获回车键,我的解决方案不起作用
Capture the enter key cross-browser, my solution isn't working
我有一个我认为是跨浏览器的解决方案来捕获我正在制作的聊天脚本中的回车键,它是:
nn=(document.layers)?true:false;
ie=(document.all)?true:false;
function keyDown(e) {
var evt=(e)?e:(window.event)?window.event:null;
if(evt){
var key=(evt.charCode)?evt.charCode: ((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
if(key=="13") document.getElementById('chatEnter').submit();
}
}
document.onkeydown=keyDown;
if(nn) document.captureEvents(Event.KEYDOWN);
我从别人那里得到这个,所以也许它过时了?无论如何,您可以看到,表单id属性是chatEnter。我也尝试过使用document.forms[0]。提交,这也不起作用。它在FF中工作得很好,但在IE8 64位(这是迄今为止我测试过的唯一两个)中就没有运气了。我哪里做错了?谢谢你的帮助。
尝试使用>
$(document).keypress(function(e) {
if (e.which == "13") {
//enter pressed
}
});
当然需要jQuery。没有比使用一个经过测试并被广泛使用的跨浏览器框架更好的跨浏览器解决方案了。
你是对的,你得到的例子是非常过时的,并且包含处理Netscape 4的代码,它已经无关紧要了大约十年。
不要只为此使用jQuery。这并不难,如果它只是输入键,你想捕获:
document.onkeydown = function(e) {
e = e || window.event;
if (e.keyCode == 13) {
document.getElementById("chatEnter").submit();
}
};
相关文章:
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- 我根据解决方案按类对
- 元素进行分组,但需要帮助了解它的工作原理
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- 使用我的基于标签的平滑滚动脚本而不带“a”的解决方案
- jshint 的解决方案“最好用点表示法写”当我有效使用非点表示法时
- 数据切换和onclick不能一起工作,我太新了,无法应用@epascarello的解决方案
- “杂耍异步” - 为什么我的解决方案根本不返回任何内容
- 已解决查询(关于哈希表)中的解决方案给了我 NaN
- 我是应该将移动浏览器虚拟视口视为系统性错误,还是有有效的解决方案
- 我需要一个显示pdf的解决方案
- 我的解决方案是递归的吗?(学习递归)
- 为什么我的VowelCount函数没有返回正确的解决方案
- 为什么我尝试的解决方案不起作用?
- 为什么我的解决方案有效,而另一个解决方案无效
- FreeCodeCamp Javascript挑战〔突变〕What'我的解决方案错了
- 我需要使用Javascript选择Javascript DOM文本节点的解决方案
- 跨浏览器捕获回车键,我的解决方案不起作用
- 我设置字段值w/ javascript, onchange未触发.可选择的解决方案
- Javascript计算排列——为什么当我不复制数组时,我的代码返回不需要的解决方案?