使用jQuery的keyPressed,IE8中的EnterKey有时不起作用

在我的HTML css中:

.edit_field { height: 50px; width: 495px; line-height: 3.6; } 

HTML:

  

javascrpt:

 $('#message').keypress(function(event) { // not getting fired this block when I pressed enter key // For all other keys its got fired well. if(event.which == 13) { // -- -- -- } }); 

我的代码或浏览器(IE8)有任何问题吗?

试试这个:

 $('#message').keyup(function(e){ if(e.keyCode == 13){ //your code probably want e.preventDefault() as well } }); 

我发现按键实现不是那么跨浏览器友好。 只是一个想法。

编辑 :我现在记得为什么这在IE8中不起作用。 输入键(键码13)被认为是“特殊键”(以及键盘上的箭头键等其他键)IE不会触发“特殊键”的按键事件,这就是我必须使用键盘的原因。

您可以在此处找到更多信息: http : //www.quirksmode.org/dom/events/keys.html

查看“特殊键”

e.which在IE中不起作用尝试e.keyCode,如果你的目标是IE,你可能也想使用keydown()而不是keypress()。

有关更多信息,请参见http://unixpapa.com/js/key.html 。


jQuery keypress()事件没有触发?

我也遇到过这种情况,尤其是在IE7中使用onKeyDown()的表。 其他钥匙开火很好,但输入很棘手。 我通过在HTML中移动我的onkeydown()触发器来解决我的问题,从某些位置它不会进入,但会收集其他位置。

如果我记得我原来在身体标签中将它移动到身体内部的

,立即让我检测到输入。 我正在使用带开关的jsp,但我不认为它有很大不同