JavaScript监听textarea中按键
编程技术  /  houtizong 发布于 3年前   161
不同的浏览器中的事件监听机制是不同的,以onKeyPress事件为例。
有个textarea,
<textarea id="text"></textarea>
经常会定义onKeyPress="keypress();",并定义以下方法。
var keypress = function(){ var k = window.event.keyCode;}
实际上这类代码在firefox下无效。
那么修改为如下方式:
onKeyPress="keypress(event);"
var keypress = function(event){ var k = event.keyCode;}
还是有问题,按下k后,在IE中取值为107,FF下取值则为0。
将keyCode改为charCode试试。
var k = event.charCode;
IE下取值为undefined,FF下取值为107了
或许可以做判断
if(是IE) var k = event.keyCode;else if(是FF) var k = event.charCode;
不过,如果有组合键的话,这种方法也不行了。
当按下Ctrl+k时,
在IE中,keyCode为11,charCode为undefined
在FF中,keyCode为0,charCode为107
这里我使用的办法是JQuery。
$("#text").bind("keyPress",function(event){ var k = event.which; });
这里使用的which就不论在IE下还是FF中,是单一按键还是组合键了,其值都是是107
然后使用String.fromCharCode(k),就可以取出按下的值了。
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接