监听text等的改变事件

oninput事件是html5的标准事件,支持ie9和以上以及其他的火狐啊谷歌啊等浏览器

ie9以下的可以用onpropertychange

<head>
    <script type="text/javascript">
    // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
        function OnInput (event) {
            alert ("The new content: " + event.target.value);
        }
    // Internet Explorer
        function OnPropChanged (event) {
            if (event.propertyName.toLowerCase () == "value") {
                alert ("The new content: " + event.srcElement.value);
            }
        }
    </script>
</head>
<body>
    Please modify the contents of the text field.
    <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />
</body>

使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码如下:

$(‘textarea‘).bind(‘input propertychange‘, function() {
    $(‘.msg‘).html($(this).val().length + ‘ characters‘);
});

最后需要注意的是:oninput 和 onpropertychange 这两个事件在 IE9 中都有个小BUG,那就是通过右键菜单菜单中的剪切和删除命令删除内容的时候不会触发,而 IE 其他版本都是正常的,目前还没有很好的解决方案。不过 oninput & onpropertychange 仍然是监听输入框值变化的最佳方案,如果大家有更好的方法,欢迎参与讨论。

时间: 2025-01-06 17:33:06

监听text等的改变事件的相关文章

Android学习笔记二十二.使用ContentProvider实现数据共享(五).监听ContentProvider的数据改变

一.使用ContentProvider管理多媒体内容 Android提供了Camera程序来支持拍照.拍摄视频,用户拍摄的相片.视频都将存放在固定的位置.Android同样为这些多媒体内容提供了ContentProvider,所以我们可以通过使用ContentProvider实现其他应用直接访问Camera所拍摄的照片.视频等. 1.多媒体ContentProvider的Uri (1)MediaStore.Audio.Media.EXTERNAL_CONTENT_URI:存储在外部存储器(SD卡

时时监听input内容的改变

心得:我们都知道inoput有一个change事件,但是是在input元素失去焦点的时候发生,不能时时的监听input内容的改变. 刚开始的时候我是想用setInterval设置计时器的原理定时监听input内容的改变,但是结果差强人意,效果一点也不好,有时候操做过快还会出现undefined的情况. 解决方法:通过阅读资料了解到input有意的input事件在大多当今主流的浏览器都能实现对input输入内容的时时监听: <input id="test"/> $("

监听浏览器窗口大小的改变

<script type="text/javascript"> <!-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth) { winWidth = window.innerWidth; } else if ((document.body) && (document.body.clientW

iOS 监听UITextView内容的改变

长文本输入时比较喜欢用UITextView,因为它会自动换行,比UITextField好用些,但是当需要监听text view中的内容变化时.Apple缺没有提供像UITextField那样方便的代理方法. 其实要监测text view中内容的改变也不难,只需下面三步操作,即可实现与UITextField的代理方法相似的效果. 1.在- (void) viewDidLoad:使用通知中心,给UITextView添加观察者 1 NSNotificationCenter *nc = [NSNotif

js 监听整个页面的回车事件

JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;        function keyDownSearch(e) {          // 兼容FF和IE和Opera          var theEvent = e || window.event;          var code = theEvent.keyCode || theEvent.which

使用python监听、模拟鼠标键盘事件

最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪.看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容易. 士兵76长按左键扫射4发子弹之后准星就会小范围随机飘,所以想自己实现一个长按左键变自动点射的程序. 仅作测试使用,鄙视一切外挂,玩游戏就好好玩. 选择使用python,用到的库pyHook,pywin32 pyHook的文档:http://pyhook.sourceforge.net/doc_

17.swift怎么监听该属性的改变

import UIKit class Person : NSObject { var name : String? { // 可以给newValue自定义名称 willSet (new){ // 属性即将改变,还未改变时会调用的方法 // 在该方法中有一个默认的系统属性newValue,用于存储新值 print(name) print(new) } // 可以给oldValue自定义名称 didSet (old) { // 属性值已经改变了,会调用的方法 // 在该方法中有一个默认的系统属性ol

android基础之如何实现触屏监听和鼠标点击事件

直接上代码: android基础之如何实现触屏监听和鼠标点击事件

百度地图2.4.1SDK监听覆盖物的点击事件

最近做项目用的是老版本的百度地图SDK,其中有一个需求是监听普通覆盖物的点击事件,由于这个版本不存在所谓的Marker,普通的覆盖物都是自己写一个类继承 ItemizedOverlay<OverlayItem>.监听点击事件更加麻烦,需要覆盖ItemizedOverlay里面的onTap方法,但是有2个onTap方法,应该覆盖参数是一个(int index)的onTap方法,因为另一个只要是点击地图就会调用,无论点击哪里都是这样,这也不知道为什么. protected boolean onTa