JavaScript监听textarea中按键

    不同的浏览器中的事件监听机制是不同的,以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),就可以取出按下的值了。

使用JS监听键盘按下事件(keydown event) 1、监听全局键盘按下事件,例如监听全局回车事件 $(document).keydown(function(event){ if(event.keyCode == 13){ alert('你按下了Enter'); } }); 2、监听某个组件键盘按下事件,例如监听id为btn的button组件的回车按下事件 $("#btn").keydown(function(event){ if(event.keyCode==13){ alert('你按下了Enter'); } }); 3、如果是要监听组合键,例如监听ctrl+c $(document).keyup(f 立即下载

相关推荐

JavaScript 监听textarea中按键事件

有个textarea, Java代码 代码如下: &lt;textarea id=”text”&gt;&lt;/textarea&gt; 经常会定义onKeyPress=”keypress();”,并定义以下方法。 代码如下: var keypress = function(e){ var e = e || window.event; var k = e.keyCode; } 这里我使用的办法是JQuery。 代码如下: $(“#text”).bind(“keyPress”,function(event){ var k = event.which; }); 这里使用的which就不论在IE下还是FF中,是

对textarea的内容进行详细监听(键盘+鼠标)

[code="js"] $("#textarea").bind("propertychange",function(){...}); $("#textarea").bind("input",function(){...}); [/code] 这两个事件必须使用 bind 绑定使用 propertychange 是ie事件 就是ie 6 7 8 input 是I...

sauzny的博客 1796

PX4飞控 vs 大疆A3:开源与闭源方案在无人机硬件架构中的实战对比

本文深入对比了PX4飞控与大疆A3在无人机硬件架构上的差异,分析了开源与闭源方案在工业级无人机开发中的优劣势。通过详细的硬件配置、传感器兼容性、扩展能力及性能测试数据,为开发者提供选型指南,特别适合需要自定义算法和复杂功能集成的项目。

a3b4c5的博客 888

如何实时监听 input 和 textarea输入框值的变化

在实际前端开发中我们经常会遇到要实时监听用户的输入,根据不同的输入值来采取不同的措施。举一个常见的例子:我们在使用Google 搜索框进行搜索时,每多输入一个字,搜索框下方显示的匹配结果会实时变化。这样的效果就是通过实时监听搜索框的输入值变化从而提取不同的匹配结果来实现的。那么,一般使用最多的输入框就是 input 和 textarea 了。要想实时监听这两种输入框的值变化,就不得不提到键盘事件 k

ruoyiqing的专栏 3万+

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂GRE、L2TP、IPsec的区别

本文通过Wireshark抓包实战,详细解析GRE、L2TP和IPsec三大隧道协议的核心差异与应用场景。从报文结构到配置示例,帮助网络工程师快速掌握这些协议的本质,提升VPN部署与故障排查能力。特别适合准备HCIP认证的工程师深化理解。

weixin_30352645的博客 439

手把手教你用Simulink搭建BPSK调制解调系统(附完整参数设置与波形分析)

本文详细指导如何使用Simulink搭建BPSK调制解调系统,涵盖从理论到实践的全流程,包括参数设置、模块连接和波形分析。重点解析调制解调中的关键参数和常见问题,如带通滤波器设计、载波同步等,帮助读者快速掌握BPSK系统的实现与调试技巧。

weixin_27741699的博客 423

监听TextArea的link事件

<br />      在Flex中打开另一个页面有多种方法,比如navigateToURL,又比如用组件的htmltext属性,通过超链接< a href="">的方式等。用navigateToURL时有限制条件,即装载swf的html容器的allowNetworking属性必须设置为all,否则会禁用该api,但是现实开发中,很多时候我们是把Flex成品以swf的形式嵌入到html中,一不留神我们或者别人很可能会把这个属性给限制掉。至于超链接的方式,毕竟我们是让别人去帮我们打开另一个页面,它的前置事件我

natian306的专栏 1765

保姆级教程:用CANoe手把手复现ECU刷写全流程(含BootLoader三阶段详解)

本文提供了一份详细的CANoe ECU刷写实战指南,涵盖BootLoader三阶段的深度解析。从实验环境搭建到预编程、主编程及后编程阶段,逐步讲解ECU刷写的关键步骤和隐藏逻辑,特别强调UDS诊断和CAN通信的精确控制,帮助开发者掌握ECU刷写的核心技术。

weixin_29234423的博客 531

textarea的回车和换行事件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33953249的博客 2498

数据库1:数据库创建与管理(头歌云课)

在 Windows 系统中,可以直接通过 SQLServer 的应用程序连接数据库,不过很多时候在生产环境下,我们需要通过命令行来连接数据库。两个数据库,数据库名分别为 TestDb 和 MyDb 的数据库,注意先后顺序。为了完成本关任务,你需要掌握:1.如何在 Linux 系统中连接 SQLServer 数据库,2.如何创建数据库。连接的数据库是本地数据库,用户名是 sa ,密码是 '

weixin_60530224的博客 2315

11.3 海岛微电网与工业园区的构网应用

海岛微电网与工业园区配电网是构网技术下沉应用的两大典型场景。海岛微电网以构网型储能为核心,解决孤岛系统稳定性问题,需具备黑启动、多能源协调和故障穿越能力;工业园区则侧重电能质量治理、并离网无缝切换和经济优化运行。两类场景均需解决多机并联稳定性、故障特性适配和分层协同控制等关键技术。构网型变流器的电压源构建能力、自适应控制策略及飞轮储能等特殊应用,为构建高可靠性、高经济性的分布式能源系统提供了创新解决方案。

技术工作者 1086

css textarea行数_限制textarea中的行数并使用jQuery显示行数

喵喵时光机一个非常丑陋但以某种方式起作用的示例指定了textarea行然后在js中 $("textarea").on('keydown keypress keyup',function(e){ if(e.keyCode == 8 || e.keyCode == 46){ return true; } var maxRowCount = $...

weixin_39928787的博客 425

《YOLOv8实例分割实战:训练自己的数据集 》(视频课程)

本课程将手把手地教大家使用labelme标注和使用YOLOv8训练自己的数据集,完成一个多目标实例分割实战项目。

bai666ai的博客 790

javascript 模拟按键事件 触发输入框oninput事件

记录下解决textarea 在js赋值后不生效的问题 我要实现的是网页聊天框模拟输入一段话,然后js触发点击发送事件 然而在使用js直接赋值之后,textarea并没有收到值 document.querySelector('#id').value = 333; 又想到用按键事件触发onkeydown,onkeypress,onkeyup,然而试了半天并没有什么鸟用~ 最后通过事件监听器,从textarea的事件往上级一个个删。 终于!!删到input的时候,手动输入的时候字数不再变化了! 接下来就.

谢泽的网络日志 6907

STM32F103C8T6通过ESP8266连接阿里云物联网平台(附代码)

STM32F103C8T6连接阿里云物联网平台(1)—阿里云lot Studio控制 Web开发 分享一下自己使用stm32f103c8t6通过ESP_01模块连接阿里云物联网平台,实现温湿度上传和控制命令下达的过程,能力有限,用的是最简单的方法,如有错误,多多担待。 一、硬件选型 1、 stm32f103c8t6 2、ESP_01 wifi模块 3、其他 二、硬件连接 WSP_01 STM32F103C8T6 RXD PA2 TXD PA3 RES PA4 VCC 3.3

weixin_A13253323604 3万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

textarea js php,JavaScript_JS给文本区域(textarea)字数限制,今天搭了个“发短信” - phpStudy...

今天搭了个“发短信”的页面,找朋友测试,没想到一位大侠直接弄了本长篇小说发我手机上……为了我的宝贝手机能继续健康澎湃,给文本区域(textarea)做了一下字数限制:我们知道,在input标签中可以使用maxlength=”4″属性来直接控制字符数,但是这一招在textarea中行不通。只好写一些JS来做判断:function textdown(e){textevent = e ;if(texte...

weixin_39776817的博客 106

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

js textarea 获取内容行数 [解决textarea 自适应问题]

解决textarea 自适应问题

weixin_44234050的博客 1103

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

textarea长度限制

文本框有一个为maxlength的属性,可以限制文本框的长度,而备注框textarea却没有,需要在按键时判断长度,也就是加这样一句话:onKeyDown='if (this.value.length&gt;=20){event.returnValue=false}'但是这样还有一个问题,就是当长度达到20时,所有的按键都不好用了,但我们需要backspace好使,那么就要判断按键是什么,加上:i...

佚名 751

textarea 添加 MaxLength属性 支持 IE Mozilla Firefox

textarea  加入 maxLength 属性  Js 代码 function onmyinput(o,maxLength){ if(o.value.length>= maxLength) { if(o.value.length> maxLength) o.value = o.value.substring(0,maxLength); r

1948

js字数限制 删除多余的字符

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &am

艾特 162

js计算字数

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="robots" content="all" /> <meta name="author" content="" /> <met...

weixin_30437481的博客 312

texarea有剩余字数提示的效果代码

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml"> JS限制textarea输入框输入字数 function

mzlqh的专栏 810

gradio 运行 JavaScript | chatglm3-6b toggle enter 前端切换换行与提交

js字符串中只有一个函数定义,且并不实际调用,是可行的。按下shift+enter的默认行为不换行(gpt认为会换行,可能与设备有关),在event.shiftKey用了一些较为复杂的textarea.selectionStart之类代码。点击“toggle enter”按钮会切换按键行为,并且具体情况会显示在旁边的文本中,也显示在输入框空白时的placeholder文本中。思路是用js实现按键监听,但是js是在gradio框架中添加的。inputBox.placeholder 的赋值中,空格不能用。

weixin_42467340的博客 765

Vue 框架-03-键盘事件、健值修饰符、双向数据绑定

Vue 框架-03-键盘时间及健值修饰符 一、键盘事件,当按键盘时,在控制台输出提示 html 源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>VueLearn-cnblogs/xpwi</title>...

weixin_30751947的博客 91

解决浏览器中点击【Backspace】回退问题

问题: 工作中遇到在浏览器空白处,或者不可编辑的input框上,点击【Backspace】按键,出现浏览器页面回退的问题,经过测试,发现谷歌浏览器默认屏蔽了这个回退的功能,但IE、360浏览器、火狐浏览器都没有,这个功能会导致,特别是后台系统,session丢失,退回到登录页面,严重影响用户体验。 比如,用户在进行表单的信息填写,不经意在浏览器空白处点击了【Backspace】按键,退到了登录

默默前行,勿喜、勿悲、一切随缘! 1万+
上一篇: 解决Hibernate原生SQL映射问题
下一篇: AdobeFlashPlugin等包破损处理
CaiHuajiang
博客等级 码龄17年 3粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值