在foxchat下,当用户按下回车键的时候,需要自动完成信息发送,这就需要监听,用户的按键操作。

头脑里第一个想法,就是使用jQuery来进行实现!现在把jQuery上的部分使用,摘录如下,以帮助不熟悉的

小伙伴,来系统了解该功能的使用。

方法签名共有三种形式,分别是:

.keypress()  -  没有任何参数,在jQuery1.0就已经存在了。

.keypress(handler) - 包括一个方法处理,也是在jQuery1.0就存在了。

.kepress([eventData],handler) - 多了一个事件数据对象,可以让事件处理器来使用,该签名在jQuery1.4.3开始存在。

注意事项:

1,因为各大主流浏览器没有对keypress事件进行统一的标准化处理,因此,该方法会因为浏览器的不同,而出现不同的处理效果,比如ie可能就与google chrome的处理会存在部分区别。

2,on("keypress",handler) - 是上面三个方法签名种,后两个带参数的完整写法,而.trigger("keypress")则对应.keypress()无参方法的等同调用。

3,keypress虽然可以被赋给所有的dom树元素,但是只在可以得到输入焦点的元素上有效果,但是针对哪些元素可以算是可获取输入焦点方面,各大主流浏览器的定义并不完全相同,但是,针对form下的接受输入的元素,例如文本框什么的,则是完全统一的,都算作可以接受输入焦点的元素。

4,keypress事件会遵守冒泡规则,一直冒泡到document根元素,除非明确终止事件冒泡。

为了确认是哪些字符按键被按住,我们需要借助传入到事件处理器的event对象来确认,但是不同的浏览器对应的具体处理又有所不同,而好消息则是jQuery提供了统一的变量 - .which 你可以用该.which变量来得到被按下的键盘按键代码。

还有需要注意的是注意区分keydown()与keyup()方法,虽然两者都可以监听按键,但是前者返回的是按键的内部代码,而不是对应的字符编码,例如当按下a的时候,keydown()返回的数值是65,而keypress()则返回97,而针对大写的A则两种方法都返回65,因此当你监听特殊按键的时候,例如回车键,最好使用keydown()与keyup()方法。

现在回到刚开始的功能上,如何监听用户按下了回车键,并在按下回车键的时候,发送信息给服务器?

根据前面的知识梳理,这里比较适合用keydown()方法,但是也可以使用keypress()方法,我们先使用

keypress()方法实现下吧:

functionhandleKeyPress(){

$("#cm_body" ).keypress(function() {

console.log("HandleKeyPress for .keypress() called.");if ( event.which == 13) {

console.log("return key downed!");

setSendTime();

event.preventDefault();

}

});

}

上面的代码逻辑非常简单,就是定义了一个方法handleKeyPress()然后,通过读取event.which变量

并验证是否为13,来获取用户是否进行了回车键的按键,如果按键了,就输出调试信息!

这里需要说明的是 setSendTimne()该方法是在线客服系统foxchat里的业务方法,是进行发送消息到

客服系统服务端的js方法,大家暂时可以忽视,以后的文章会进行讲解!

java keypress事件_在jQuery下如何使用keydown与keypress来监听按键!相关推荐

  1. java图形界面的监听_非专业码农 JAVA学习笔记 用户图形界面设计与实现-所有控件的监听事件...

    用户图形界面设计与实现-监听事件 System.applet.Applet (一)用户自定义成分 1.绘制图形 Public voit piant(Ghraphics g){  g.drawLine等 ...

  2. java swing事件_第四节 Java Swing事件处理

    第四节:事件处理 一个图形界面完的成只是程序开发中起步的工作,因为要想让每一个组件都发挥其作用,就必须对所有的组件进行事件处理.那么什么是事件处理,所谓事件就表示一个对象发生状态变化.例如,每当按下一 ...

  3. table高度改变时触发什么事件_(立下flag)每日10道前端面试题11 关于事件十问...

    第一问:请介绍下事件模型 目前共有三种事件模型,它们分别是: DOM0 级事件模型.IE 事件模型.DOM2 级事件模型 DOM0 级事件模型 又称原始事件模型,有两种方式,最直观的提下如下代码: / ...

  4. java textfield事件_[求助]TextField失去焦点触发事件问题

    [求助]TextField失去焦点触发事件问题 在java,awt中.要想在一个TextField输入值后然后失去焦点了,引发一个事件,该怎么做? 请教各位大侠.能否给断小的示例代码. 不胜感激!-- ...

  5. java event事件_简单的Java Event-事件框架

    自己写的一个简单的Java事件框架.目前具备以下功能: 1.通过继承Event类,用户可自定义事件. 2.通过EventService 的fireEvent(Event e) 发出一个事件. 3.通过 ...

  6. java图形界面设计 swing之JTable表格的创建使用-添加鼠标监听

    最近用java设计了一个桌面管理系统, 在数据展示模块的时候遇到了一点问题,找不到好的展示方式 最后发现了JTable这个类, 主要涉及这个类的构造与使用 注意:JTable都需要在JScrollPa ...

  7. android 中如何监听按键的长按事件

    1,key -- 实体按键, 现在手机物理按键越来越少 常见的有 KEYCODE_VOLUME_DOWN/UP KEYCODE_POWER KEYCODE_BACK KEYCODE_HOME KEYC ...

  8. android 设置键盘按钮事件,Android 改变软键盘的回车键按钮格式,然后监听回车键的点击事件...

    EditText中有一个属性:imeOptions.它的参数常用的有如下几种:1.actionNext下一步,通常用于跳转到下一个EditText(回车键监听不到) 2.actionGo前往,通常用于 ...

  9. linux oracle新建监听,linux 下 oracle图形界面(需配置监听,创建实例)

    摘要:oracle 图形界面配置监听,创建实例,以下都是我安装是的截图,按步骤一定可以安装成功! CentOS6.7_x64_minimal_desktop的虚拟机一台(安装oracle需要图形界面, ...

最新文章

  1. 关于人脸识别数据库的几点介绍
  2. myeclipse新建或者另存为新jsp无法打开
  3. CentOS开启FTP及配置用户
  4. CF1060D Social Circles
  5. 意想不到!WordPress安全漏洞98%来自插件
  6. mysql 下载地址及安装教程
  7. python刷新网页脚本_python语言如何测试实现页面下拉刷新
  8. 操作系统 课堂练习题02【8道 经典题目】
  9. ios加载本地游戏html,使用WKWebView iOS加载本地HTML / Javascript
  10. [转] 标准化和归一化
  11. 一段和别人的对话,没事写出来(杂项)
  12. Linux下squid代理缓存服务环境部署
  13. (转载)应用层协议和传输层协议的关系
  14. 使用简单好用的WiFi摄像头,远程监控不再难
  15. ios下使用speex进行音频压缩
  16. 知识图谱入门 (二) 知识表示与知识建模
  17. 优质供应商选择标准_优秀供应商评选标准
  18. 【Android工具】音频频率发生器,声音测试,音响测试,各种频率声音合成工具...
  19. domain-transfer reid郑哲东 joint 判别和生成REID
  20. 树的中序遍历+前序遍历得到后序遍历

热门文章

  1. iOS:沙盒之 Documents、Library、tmp、SystemData
  2. 突袭4 linux版本,突袭4配置要求一览 突袭4配置要求高吗
  3. 高德地图 js api 修改中心点或移动到另一个中心点
  4. java 点 转义字符_关于java的转义字符
  5. 安卓手机、平板死机长按开机键10秒钟以后重启是如何做到的?
  6. Nokia Lumia1330/1335首评发布,Nokia Lumia 1330/1335后壳现身 将支持LTE-A
  7. C++ vector向量pushback拷贝构造需要注意的几点
  8. Vba工具-把一个总表按任何1列维度拆分成n个子表
  9. 360技术嘉年华第九季—测试之美直播大会圆满结束啦!(直播回放及分享PPT都在这里啦)...
  10. 自然语言理解理论实践-主要的语言理解任务(一)《个人学习笔记》