`
Tyrion
  • 浏览: 260910 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

javascript中div不响应onkeydown事件问题及解决

    博客分类:
  • JS
 
阅读更多

这两周被js坑了好几次哭,所以最近几篇写写这个,记录下被坑的日子。

 

这次有一个需求,要做一个类似百度搜索之类的效果出来,输入拼音字母,直接列出与该拼音相关的中文结果。效果如下:


这里我是通过在js中动态添加div的方式来做的,即每一行结果一个div。问题来了,需要支持在输入框中按下向下键时光标即移到下一行的【充值金额查询(渠道)】。我给这些js写的div都注册了onkeydown事件,但就是不能触发该事件。

 

谷歌百度等之后搜到些有用的提示,要想div能够响应onkeydown onkeyup onfocus等事件需要达到两点:1.需要聚焦到该div,js代码写的话即div.focus()。2.需要设置该div的tabindex属性。于是又写了个例子:

 

<div id="a"><div id="b" tabindex="-1" onkeydown="alert("hhh");"></div></div>

果然可以。于是在js里面把该div对象的tabindex属性设置为一个整数,但!是!竟然还是没反应!

 

 

昨天爬山时还在想这个问题,按理说不能够啊,html里面明写可以,用js动态添加div应该也可以,唯一差别就是js添加属性而已。灵光一现,以前写js时常碰到的坑爹的问题是js里面对于内置的dom对象的属性是区分大小写的,有的组合单词的属性需要首字母大写。果然,js里面把tabindex改成tabIndex就可以了,叫喊

 

PS:关于这个问题这篇文章讲的不错《DIV焦点事件详解》

  • 大小: 13.3 KB
1
1
分享到:
评论

相关推荐

    【JavaScript源代码】一篇文章教你实现VUE多个DIV,button绑定回车事件.docx

    这篇文章主要讲解了在Vue.js项目中如何实现多个DIV和按钮绑定回车事件,以便在用户按下回车键时触发特定的操作。在实际开发中,这种功能常见于表单提交或者其他需要响应键盘输入的场景。 首先,尝试直接在DIV或者...

    Javascript鼠标事件汇总

    ### JavaScript鼠标事件汇总详解 #### 一、基本概念与作用 在前端开发中,JavaScript(简称JS)作为主要的脚本语言,对于处理用户交互至关重要。鼠标事件是JS中最常见的一种事件类型,它能帮助开发者捕捉用户的...

    javascript 触发事件列表

    ### JavaScript 触发事件列表详解 #### 一、单击事件(onclick) 当用户单击鼠标按键时触发的...以上列举的是JavaScript中最常用的事件类型及其应用示例。通过合理地使用这些事件,可以增强网页的交互性和用户体验。

    JavaScript完全自学宝典 源代码

    示例描述:演示JavaScript的简单应用及JavaScript特效。 1.1.html 用JavaScript开发的弹出式“Hello World”实例。 1.2.html 在页面中输出的“Hello World”。 1.3.html 使用JavaScript进行文本框值的...

    JavaScript实现前端实时搜索功能

    - `onkeydown/onkeypress/onkeyup`事件:这几个键盘事件可以捕获用户的按键操作,但是它们在处理一些复杂的键盘操作(如粘贴、长按键)时,并不完美。 - `onpropertychange`事件:在IE浏览器中,此事件可以捕获...

    33个JavaScript经典效果

    从给定的文件标题“33个JavaScript经典效果”及描述“实用且必用的小脚本代码”,我们可以归纳总结出一系列关键的JavaScript知识点,这些知识点不仅涵盖了基础的页面操作、事件处理,还涉及到了时间显示、窗口控制...

    javascript鼠标的捕获

    在JavaScript中,可以利用`onkeydown`事件监听键盘按键。通过`event`对象的不同属性,可以判断用户是否按下回车键、Shift键、Ctrl键或Alt键。 ```javascript function test(event) { event = event || window....

    Javascript珍藏实用代码

    为了进一步保护网站内容不被复制,可以通过设置`onpaste`事件来阻止用户粘贴已复制的内容到页面中。这对于需要防止非法内容粘贴的应用场景非常有用。 #### 防止多层框架嵌套 ```javascript if (top == self) { ...

    Javascript事件实例详解

    在Web开发中,Javascript事件是使得页面能够响应用户操作的重要机制,包括点击、移动、输入等多种交互行为。事件处理是前端开发中的核心概念,对于创建动态网页、实现用户交互等功能至关重要。 首先,本文通过示例...

    JavaScript实用技巧参考.pdf

    - 在响应式设计中,保持图片的宽高比不变是非常重要的,这样可以确保在不同屏幕尺寸下图片都能正确显示。 ##### 2. 获取Windows Media Player版本 这段代码用于检测用户的浏览器是否安装了Windows Media Player...

    javascript常用代码

    文件中提到的`document.onkeydown`和`document.onkeyup`事件处理器可以用于捕捉键盘按键的按下和释放,这对于游戏、编辑器或任何需要快速响应用户输入的应用都十分重要。 ### 8. 页面状态的保持 在用户浏览多个...

    js实现文本框中输入文字页面中div层同步获取文本框内容的方法

    在JavaScript编程中,有时我们需要实现在用户在文本框(`&lt;textarea&gt;`)中输入内容时,页面中的其他元素(如`&lt;div&gt;`)能够实时显示这些输入。这通常用于创建实时预览、编辑器功能或者反馈用户输入的效果。在给定的...

    DIV简单个人静态HTML网页设计作品 WEB静态个人介绍网页模板代码 DW个人网站制作成品 期末网页制作与实现

    2. **事件处理**:JavaScript可以为网页中的元素绑定事件监听器,当特定事件触发时执行相应的函数,如鼠标点击事件`onclick`、键盘按键事件`onkeydown`等。 3. **AJAX**:虽然本项目没有明确提到AJAX技术,但它是...

    用Html+Js实现的“自动补全”功能.pdf

    - 文本框(`&lt;input type="text"&gt;`):用户输入的区域,通常会绑定一些事件监听器,如`onfocus`、`onkeydown`和`onblur`。 - 列表容器(`&lt;div&gt;`或`&lt;ul&gt;`、`&lt;table&gt;`):用于显示匹配的建议列表,通常设置为隐藏状态...

    javascript基础教程 很有用的

    **事件** 是用户或其他系统触发的动作,可以通过JavaScript来监听并响应这些动作。 1. **文档事件:** - **`onload`:** 当文档加载完成后触发。 - **`onunload`:** 当文档即将卸载前触发。 2. **对象事件:**...

    手写html-五子棋小游戏

    6. **JavaScript事件处理**:除了`onclick`,还有`onkeydown`等键盘事件,可以实现快捷键操作,提升游戏的可玩性。此外,`setInterval`或`setTimeout`函数可以用来定期更新游戏状态,例如检查是否有五子连珠。 7. *...

    JS原生系列-DOM篇.pdf

    本文将深入探讨JavaScript中DOM的操作。 首先,了解DOM的基础结构非常关键。文档中的每个元素、文本节点甚至属性都可以被视为节点。文档本身可以看作是根节点,而每个HTML标签、它们包含的文本内容以及其他属性如id...

    div+css布局实现个人网页设计(HTML期末作业)

    通过这个项目的学习,学生不仅可以掌握HTML5、CSS3以及JavaScript的基础知识和进阶技巧,还能学会如何将理论知识应用于实际项目中,从而提高解决问题的能力。此外,该项目还包括了对多媒体元素的集成和响应式设计的...

    javascript下用键盘控制层的移动的代码

    - 代码中使用了 `expression` 属性动态计算元素的位置,但这通常不推荐使用,因为它可能引起性能问题。现代做法是通过 JavaScript 动态修改样式。 4. **输入验证**: - 为了确保输入的有效性,代码中加入了简单的...

    js实现键盘控制DIV移动的方法

    这个功能的实现,通常会用到JavaScript中对DOM的操作,以及事件监听技术。 首先,我们需要在HTML中创建一个可移动的DIV元素,并为其设定一个初始的位置。通过CSS设置DIV的样式,例如绝对定位(position: absolute;...

Global site tag (gtag.js) - Google Analytics