如何让div span等元素能响应键盘事件操作指南_javascript技巧
在我这几天的工作中遇到了一个问题,google了一下找到了解决方案,不过是英文的,我简单翻译下让更多的人能看懂
译文如下:
我有一个可编辑的div,并且在DIV里面还有一个可编辑的span,我想要让span能响应键盘事件,
这里是测试JS代码:
$(function()
{
$('#someid').keypress(function(event){alert('test');});
});
这里是测试html代码:
editable follows:Some TEXT
如果你在浏览器中测试,你会看见,当你在Some TEXT上press key时,没有‘test'弹出框弹出,我知道这个问题的发生原因是因为事件是从span的父节点div发出来的,所以span没有触发到事件,当然也是因为span没有焦点造成的,所以我想要谁帮助我找出解决方案。
最终终于有好心人帮助解决了这个问题
关于你的问题的解决方案代码我已经提交到了http://jsfiddle.net/gaby/TwgkC/3/ 并且工作正常
在FF, Opera, Chrome, Safari, IE8 ..中测试
#someid需要获得焦点才能触发keypress,如果你想要你的代码获得焦点在元素创建后立即使用.focus()方法
function AppendSpan()
{
$('#mydiv').append('Some TExt');
//Then I want to handle the keypress event on the inserted span
$('#someid').keypress(function(event){
//do something here
alert(this.id);
}).focus();// bring focus to the element once you append it..
}
追加:
两个方法来触发事件,(事实上需要使用contenteditable属性),不确定你是否能接受这种情况
1、包裹一个可编辑span在另一个的外层,并且设置它的属性contenteditable="false"
demo js:
function AppendSpan()
{
$('#mydiv').append('Some TExt');
//Then I want to handle the keypress event on the inserted span
$('#someid').keypress(function(event){alert('test');});
}
$(function()
{
$('#mydiv').keypress(function(event){AppendSpan();});
});
demo html:
editable follows:
2、让你的#mydiv处在非编辑状态,当你需要触发span的键盘事件时
demo js:
function AppendSpan()
{
$('#mydiv').removeAttr('contenteditable').append('Some TExt');
//Then I want to handle the keypress event on the inserted span
$('#someid').keypress(function(event){alert('test');});
}
$(function()
{
$('#mydiv').keypress(function(event){AppendSpan();});
});
demo html:
editable follows:

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

将输入法调至英文后按住Shift键和减号键即可。教程适用型号:联想AIO520C系统:Windows10专业版版本:MicrosoftOfficeWord2022解析1首先检查输入法的中英文打字,调整至英文。2然后同时按住键盘上的Shift键和减号键。3检查界面,即可查看已打出的下划线。补充:Word文档如何快捷输入下划线1如果需要在Word中输入下划线,用鼠标选中空格后,选择字体菜单中选择下划线类型即可输入。总结/注意事项一定要先将输入法换至英文再进行操作,否则无法成功输入下划线。

计算机的输入设备如键盘和鼠标都需要人类操作,不能独立运行。Windows笔记本电脑上的触摸板和键盘也一样。文本不会自动输入,鼠标也不会自动点击。若发生异常情况,一定存在原因。如果遇到笔记本电脑键盘自动输入问题,请按照指南进行修复。Windows笔记本电脑上的键盘自动打字当您的Windows笔记本电脑上的键盘自动打字时,您可以通过以下方式进行修复。手动检查键盘确保键盘工作正常检查笔记本电脑是否已远程连接检查是否有任何自动打字程序正在运行运行恶意软件扫描调整键盘设置重新安装键盘驱动程序让我们详细了解

苹果手机键盘用户想要设置手写输入法,但是不知道怎么操作,其实是很简单的,用户可以在手机的键盘设置中直接选择手写输入法输入,如果没有也可以手动添加手写输入法。苹果手机键盘怎么设置手写输入法答:在键盘设置中直接启用手写输入法1、苹果用户在使用输入法的时候,默认是会开启手写输入法的。2、用户只需要在打字的时候直接点击左下角长按选择手写输入法就可以了。3、如果用户的手机里面没有手写输入法也可以进行手动的添加。4、用户进入设置找到通用键盘设置在第一个键盘里面添加手写输入的选项就可以了。5、使用手写输入法可

未来几个月将推出的Windows11电脑键盘上将新增一个Copilot键。该键可让用户在不升级新PC的情况下,通过按下指定按钮轻松进入副驾驶模式。本指南将详细介绍如何在任何Windows11键盘上设置副驾驶按钮。微软近日宣布,他们在推进人工智能辅助驾驶方面取得了重要进展。Windows11将新增一个专门的Copilot密钥,进一步提升个人电脑用户的体验。这一硬件变化代表了WindowsPC键盘三十年来的首次重大升级。接下来几个月,新的Windows11电脑将会搭载全新的Copilot键设计在键盘

本站8月12日消息,VGN于8月6日推出了联名《艾尔登法环》键鼠系列产品,包含键盘、鼠标和鼠标垫,采用菈妮/褪色者定制主题设计,目前系列产品已上架京东,售价99元起。本站附联名新品信息如下:VGN丨艾尔登法环S99PRO键盘该键盘采用纯铝合金外壳,辅以五层消音结构,使用GASKET板簧结构,拥有单键开槽PCB、原厂高度PBT材质键帽、铝合金个性化背板;支持三模连接和SMARTSPEEDX低延迟技术;接入VHUB,可一站式管理多款设备,首发549元。VGN丨艾尔登法环F1PROMAX无线鼠标该鼠标

本站2月29日消息,迈从今日为K87三模机械键盘推出了“风信子轴”“琉光冰淇淋轴”两款版本,该键盘主打“Gasket结构、80%配列”,相关轴体键盘价格信息如下:“风信子轴”版:首发价299元“琉光冰淇淋轴”版:首发价379元据介绍,系列键盘使用Gasket结构,采用87键80%配列,全键无冲,支持热插拔,号称选用“原厂/MDA双色PBT键帽”,使用1.2mm单键开槽PCB(下灯位),配备RGB灯效,并拥有磁吸收纳铭牌设计。此外,这款键盘配备6000毫安电池,无线延迟3ms,官方未公布键盘尺寸及

微信键盘怎么设置皮肤?微信键盘是一款非常智能的手机输入法软件,这个软件上面有好多人性化的功能,它可以让用户自己选择输入模式,还可以在这个软件上面以最快的速度找到自己想要的表情然后发出去。这个软件上面还可以让用户自己更换键盘的皮肤,很多用户都还不太清楚要怎么更换皮肤,下面小编整理了皮肤的更换方式供大家参考。微信键盘皮肤的设置方法在手机的微信、短信或其他需要使用键盘的应用中,您可以点击键盘左上角的输入法设置图标,进入设置页面查看各种输入法的功能设置选项。 2、在输入法的设置页面点击“个性皮肤

据悉,一些在刚买笔记本的朋友,对笔记本不是太熟悉,刚买回来觉得好好的,可是之后就打不出字来了,这是怎么一回事呢?一些用户会以为是购买的笔记本有问题,其实也不一定是那样,为此,小编给大家整理了笔记本键盘没反应的解决方法。笔记本键盘失灵怎么回事?这里的笔记本键盘失灵有2种情况,其中一种是比较常见的按字母键会显示成数字的情况发生,另一种情况是,出现笔记本键盘失灵,按下去没任何反应,那么该怎么去解决笔记本键盘没反应呢?下面,小编就来跟大家说说笔记本键盘失灵该怎么解决。笔记本键盘失灵第一步:检查硬件设备如
