使用JQuery在JavaScript(在Linux平台上)检测键事件(Enter)

前端之家收集整理的这篇文章主要介绍了使用JQuery在JavaScript(在Linux平台上)检测键事件(Enter)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新:

我终于弄清楚,“keypress”在Linux平台上比“keydown”或“keyup”有更好的兼容性。我刚刚把“keyup”/“keydown”改为“keypress”,所以一切顺利。

我不知道是什么原因,但它是我的解决方案。感谢所有响应我问题的人。

我有一些代码需要检测按键事件(我必须知道用户何时按Enter键)与JQuery,这里是Javascript中的代码

  1. j.input.bind("keyup",function (l) {
  2. if (document.selection) {
  3. g._ieCacheSelection = document.selection.createRange()
  4. }
  5. }).bind("keydown",function(l) {
  6. //console.log(l.keyCode);
  7. if (l.keyCode == 13) {
  8. if(l.ctrlKey) {
  9. g.insertCursorPos("\n");
  10. return true;
  11. } else {
  12. var k = d(this),n = k.val();
  13. if(k.attr('intervalTime')) {
  14. //alert('can not send');
  15. k.css('color','red').val('Dont send too many messages').attr('disabled','disabled').css('color','red');
  16. setTimeout(function(){k.css('color','').val(n).attr('disabled','').focus()},1000);
  17. return
  18. }
  19. if(g_debug_num[parseInt(h.buddyInfo.id)]==undefined) {
  20. g_debug_num[parseInt(h.buddyInfo.id)]=1;
  21. }
  22. if (d.trim(n)) {
  23. var m = {
  24. to: h.buddyInfo.id,from: h.myInfo.id,//stype: "msg",body: (g_debug_num[parseInt(h.buddyInfo.id)]++)+" : "+n,timestamp: (new Date()).getTime()
  25. };
  26. //g.addHistory(m);
  27. k.val("");
  28. g.trigger("sendMessage",m);
  29. l.preventDefault();
  30. g.sendStatuses("");
  31. k.attr('intervalTime',100);
  32. setTimeout(function(){k.removeAttr('intervalTime')},1000);
  33. return
  34. }
  35. return
  36. }
  37. }

它在Windows上工作正常,但在Linux上,它无法捕获Enter事件。有人可以帮忙吗?

更新:

如果我只用英语来说话似乎很好但是我必须使用一些输入法来输入中文。如果是问题? (如果我使用中文输入法,JQuery不能检测到)?

解决方法

尝试这个
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head id="Head1" >
  3. <title></title>
  4. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  5. </head>
  6. <body>
  7. <div>
  8. <input id="TestTextBox" type="text" />
  9. </div>
  10. </body>
  11. <script type="text/javascript">
  12. $(function()
  13. {
  14. var testTextBox = $('#TestTextBox');
  15. var code =null;
  16. testTextBox.keypress(function(e)
  17. {
  18. code= (e.keyCode ? e.keyCode : e.which);
  19. if (code == 13) alert('Enter key was pressed.');
  20. e.preventDefault();
  21. });
  22.  
  23. });
  24.  
  25. </script>
  26. </html>

猜你在找的jQuery相关文章