`
文艺的程序猿
  • 浏览: 102566 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

onkeydown、onkeyup、onclick、onchange、oninput、onpropertychange 的用法和区别

    博客分类:
  • js
js 
阅读更多

onkeydown、onkeyup、onclick

onkeydown 是按键按下时触发;

onkeyup 是按键弹起时触发;

onclick 是按键按下并弹起时触发。

有一种情况,就是按住按键不放,此时会不断地触发 onkeydown,但 onkeyup、onclick 只是在抬起按键的时候触发一次。

 

要实时检测正在输字的文本框中输入了多少文字,怎么办?

用 onkeyup 不可取!

因为我们前面讲过,如果按住按键不放,文字会一直输进去,可是 onkeyup 只触发一次。况且如果不是按键,是鼠标右键粘贴怎么办?

用 onkeydown 不可取!

onkeydown 虽然会不断地触发,但是在它触发的时候,文字还没有输入进去。

用 onchange 不可取!

下面会讲原因。

 

onchange、oninput、onpropertychange

这三个属性都可用于文本框,从字面上理解 onchange 是文本框内容改变时触发,但实际是有限制的:

一、只有人工触发才有效,如果利用 JavaScript 程序改变是没有效果的。

二、只有当文本框失去焦点时才触发,也就是说并不是我们在打字的时候就会触发,而是在打完这后,焦点移出去之后,才触发,这点相当不爽。

而 oninput、onpropertychange 是为了弥补 onchange 的缺陷产生的,它们虽然不能解决第一个问题,但解决第二个问题已经不错了。

oninput 是 Chrome 支持的,onpropertychange 是 IE 支持的。

分享到:
评论

相关推荐

    onkeypress和onkeydown以及onkeyup的区别

    onkeypress、onkeydown和onkeyup事件的区别 onkeypress、onkeydown和onkeyup是三种常用的JavaScript事件,都是与键盘输入相关的事件,但它们之间存在着一些细微的区别。 首先,让我们来看一下这三个事件的触发顺序...

    javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

    为了解决这个问题,可以使用JavaScript中的定时器来区别单击和双击事件。通过设置定时器,在`onclick`事件中启动一个定时器,并在定时器到期前如果发生了`ondblclick`事件,则清除定时器。这样可以确保只有单次点击...

    onkeyup,onkeydown和onkeypress的区别介绍

    在JavaScript中,`onkeyup`、`onkeydown`和`onkeypress`是三种与键盘交互相关的事件,它们各自有着特定的用途和响应时机。理解这三个事件的区别对于开发交互式网页应用至关重要。 首先,`onkeydown`事件会在用户按...

    asp.net关于onpropertychange和oninput事件实现代码

    整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤。 根据这个思路,首先需要解决的无非是确定文本框的...而对应的oninput则可以满足需求。 具体的实现是,文本框,隐藏按钮,当在文本框输入内

    javascript中的onkeyup和onkeydown区别介绍

    本文将详细介绍onkeydown和onkeyup的区别以及如何在实际应用中选择使用它们。 首先,onkeydown事件是当用户按下键盘上的某个键时触发的。具体来说,当用户按下键并开始产生物理动作时,该事件即刻发生。此时,被...

    Android onKeyDown监听返回键无效的解决办法

    总结来说,正确处理Android中返回键的监听需要开发者对Activity生命周期中的事件处理方法有一个清晰的认识,同时了解并正确使用onKeyDown()、dispatchKeyEvent()和onBackPressed()这三个关键的方法。对于特殊情况,...

    用户界面之重写onKeyDown方法源码.zip

    用户界面之重写onKeyDown方法源码用户可以使用两种级别与你的UI进行交互,一种是activity级别,另一种是view级别。在activity级别,Activity类暴露了一些你可以重写的方法。有一些常用的方法,你可以在你的Activity...

    Android 用户界面之重写onKeyDown方法源码.zip

    用户可以使用两种级别与你的UI进行交互,一种是activity级别,另一种是view级别。在activity级别,Activity类暴露了一些你可以重写的方法。有一些常用的方法,你可以在你的Activity中进行重写: 下面的例子重写了...

    Android 用户界面之重写onKeyDown方法

    用户可以使用两种级别与你的UI进行交互,一种是activity级别,另一种是view级别。在activity级别,Activity类暴露了一些你可以重写的方法。有一些常用的方法,你可以在你的Activity中进行重写: 下面的例子重写了...

    input高级用法input高级用法

    ### Input高级用法详解 #### 一、概述 在网页开发过程中,`input`元素是与用户交互最为频繁的HTML元素之一。通过合理地利用`input`的各种属性和事件,可以实现更为丰富的用户体验和功能。本文将根据提供的部分代码...

    安卓Android源码——用户界面之重写onKeyDown方法源码.zip

    如果确实需要自定义这些按键的行为,应使用`onKeyUp`或`onKeyLongPress`等方法,并确保遵循Android的最佳实践。 `源码说明.txt`可能包含了更详细的代码示例和解释,如何将`onKeyDown`应用到实际项目中。通过分析...

    Android代码-用户界面之重写onKeyDown方法源码.zip

    除了`onKeyDown`,还有`onKeyUp`方法,用于处理按键抬起事件。通常情况下,如果需要响应按键的完整按下和释放过程,我们需要同时处理这两个方法,确保按下和释放时的逻辑一致。 在实际开发中,`onKeyDown`方法常...

    Android用户界面之重写onKeyDown方法源码.zip

    然而,需要注意的是,自Android 3.0(API级别11)开始,`onKeyDown`和`onKeyUp`方法在大多数情况下已被`onKeyXXX`系列的替代方法所取代,比如`onOptionsItemSelected`(处理菜单键)和`onBackPressed`(处理返回键)...

    Android 用户界面之重写onKeyDown方法源码-IT计算机-毕业设计.zip

    对于移动应用开发者而言,掌握`onKeyDown`方法的使用不仅能够提升应用的个性化程度,还能帮助解决特定场景下的问题,比如在没有触摸屏的设备上提供良好的操作体验。同时,源码阅读和分析能力是提升编程技能的重要...

    Android源码——用户界面之重写onKeyDown方法源码_new_60.zip

    总的来说,理解和掌握`onKeyDown`方法的使用,是Android开发中的基本技能之一。通过分析压缩包中的源码,开发者可以更深入地了解事件处理机制,并将这些知识应用到自己的项目中,提高应用的用户体验。

    熄屏快呼及后台调用onKeyDown事件

    在Android中,按键事件的处理主要通过`onKeyDown()`和`onKeyUp()`这两个方法。这两个方法位于`View`类中,是Activity或Service中处理用户输入的回调函数。当用户按下按键时,系统会调用`onKeyDown()`,释放按键时则...

Global site tag (gtag.js) - Google Analytics