搜索
首页web前端js教程如何让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:

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
键盘英文大小写怎么转换键盘英文大小写怎么转换Mar 17, 2023 pm 04:58 PM

键盘转换英文大小写的方法:1、按CapsLock键,指示灯亮起即可锁定大写状态,可用于连续输入若干个大写字母;若指示灯不亮,则为小写状态,可连续输入若干个小写字母。2、按住Shift键不放,再按字母键就是大写字母,松开Shift键就变回小写。

pgup键是什么意思pgup键是什么意思Feb 20, 2023 pm 04:19 PM

“PgUp”是“PageUp”键的缩写,是指上翻页键,主要作用是向上翻页,在文本编辑环境中,按下该键可将文档向前翻一页,如果已到文档顶部,则此键将无法工作;和pgup键相对的是pgdn键,意思是向下翻页,在文字编辑环境中,按该键可将文档向后翻一页,如果已经到达了文档的底部,则此键不能工作。

键盘删除键是哪个键盘删除键是哪个Mar 16, 2023 pm 04:48 PM

键盘删除键有两个:del(delete)键和backspace键。backspace又称退格键,这个按键可以把光标前面的文本内容删除掉;而delete键可以删除字符、文件和选中对象。每按一次del键,就会删除光标右侧的一个字符,光标右侧的字符向左移动一帧;当选中一个或多个文件/文件夹时,按Del键可快速删除;在某些应用程序中选中某个对象,按Del键可快速删除选中对象。

scroll是什么按键scroll是什么按键Feb 22, 2023 pm 02:29 PM

scroll是滚动锁定键,是计算机键盘上的功能键。scroll键常用于word和Excel中,在Scroll Lock关闭的状态下,使用翻页键时,单元格选定区域会随之发生移动;但是当按下了Scroll Lock键后,就不会移动选定的单元格。

键盘上的数字键盘打不出来数字是怎么回事键盘上的数字键盘打不出来数字是怎么回事Mar 17, 2023 pm 05:32 PM

原因:1、没有开启“Num Lock”键,该键的作用就是切换锁定/解锁数字键输入;按一下“Num Lock”按键,指示灯亮起即可。2、无论是PS/2接口,还是USB接口的键盘,在使用的过程中,都会存在程序错乱的可能;只需拔掉键盘的接口,重启电脑即可。3、键盘损坏,更换键盘即可。

comma是什么键comma是什么键Mar 16, 2023 am 11:59 AM

comma全称“Command”,又称苹果键(Apple key),是Mac电脑上的一个特殊键,是苹果标准键盘最后一排左起第4个键和右侧option左边的按键;它的主要功能是用来替代空格键,并让用户可以使用快捷键来操作系统。随着苹果公司新一代的Mac电脑发布,Command键也被用于控制系统功能,比如复制、粘贴、打开程序等。

键盘end是哪个键键盘end是哪个键Mar 10, 2023 am 11:30 AM

键盘end就是键盘上显示“End”字样的键;在编辑文本时,若光标不在最后,按下END键,光标就会定位到最后面;如果是一篇文档,按下“CTRL+END”组合键后,光标会定位到文档的最后。

lnsert键盘是什么意思lnsert键盘是什么意思Feb 21, 2023 am 11:24 AM

lnsert键盘是插入键,它是电脑键盘的一个键,一般在电脑键盘右边靠上的位置,主要用于在文字处理器切换文本输入的模式。在文字处理中,有两种输入模式:一种为覆盖模式,光标位置新输入字会替代原来的字;另一种为插入模式,新输入的字插入到光标位置,原来的字相应后移。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能