如图,常用于搜索验证等。

js实现的文本框内容发生改变立马触发事件简单介绍:
如何在文本框的内容发生变化的时候,立马触发一个事件执行响应的操作,而不是像是keydow或者keyup事件一样,只能够检测通过键盘输入导致内容的变化, 下面就通过代码实例做一下简单介绍。

一.相关知识准备:
1.onchange事件:
此事件会在元素内容发生改变,且失去焦点的时候触发。
浏览器支持度较好。
2.onpropertychange事件:
此事件会在元素内容发生改变时立即触发,即便是通过js改变的内容也会触发此事件。
元素的任何属性改变都会触发该事件,不止是value。
只有IE11以下浏览器支持此事件。
3.oninput事件:
此事件会在value属性值发生改变时触发,通过js改变value属性值不会触发此事件。
只有IE8以上或者谷歌火狐等标准浏览器支持。

二.代码实例:
既然知道各个事件的特性,那么我们可以通过兼容性方法,实现兼容各个浏览器的代码。
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>输入监测</title>
<script type="text/javascript">
window.onload=function(){
var otxt=document.getElementById("txt");
var oshow=document.getElementById("show");
var count=;
if(document.all){
otxt.onpropertychange=function(){
count=count+;
oshow.innerHTML=count;
}
}
else{
otxt.oninput=function(){
count=count+;
oshow.innerHTML=count;
}
}
}
</script>
</head>
<body>
<div id="show"></div>
<input type="text" id="txt" value="测试"/>
</body>
</html>

===============================================================

propertychange(ie)和input事件
input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标
黏贴的改变都能及时监听到变化
propertychange,只要当前对象属性发生改变。(IE专属的)
但是
oninput 和 onpropertychange 这两个事件在 IE9 中都有个小BUG,
那就是通过右键菜单菜单中的 剪切 和 删除 命令删除内容的时候不会触发,
而 IE 其他版本都是正常的,目前还没有很好的解决方案。

$(function(){
$("input[type='search']").bind('input propertychange',function(){
//做一些事情
var val = $(this).val();
console.log(val);
})
});

  keypress  就是能监听键盘事件,鼠标复制黏贴操作他就无能为力

change事件  触发事件必须满足两个条件:
a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur)

--------------------------------------分割线 --------------------------------------

之前一直用change事件来监听输入框内容是否发生变化,只有当输入框失去焦点时才会触发,没想到html5还有个input事件,只要输入框内容发生变化就会立即触发,既然有这么好的东西我们干嘛放着不用呢,接下来就来给大家介绍一下:

如果我们页面上有这样一个简单到极致的输入框:

<input type="text">

那么我们现在用jquery给它绑定input事件,如下:

$("input:text").bind("input propertychange",function(){

  console.log($(this).val().length);//打印输入框字符长度
 
});

这样一来只要输入框内容发生变化,都会立即打印出里面字符串的长度来了。

需要注意的是input事件是html5的东东,IE9以下版本中是无法支持的,所以需要用propertychange事件来代替。

input事件除了能够监听input:text元素的内容变化,同时还可以监听input:password,input:search以及textarea这几个元素,在html绑定的写法为:

<input type="text" oninput="onInput(event)" onpropertychange="onPropertyChange(event)">

--------------------------------------分割线 --------------------------------------

HTML5 地理位置定位(HTML5 Geolocation)原理及应用 http://www.linuxidc.com/Linux/2012-07/65129.htm

HTML5移动开发即学即用(双色) PDF+源码 http://www.linuxidc.com/Linux/2013-09/90351.htm

HTML5入门学习笔记 http://www.linuxidc.com/Linux/2013-09/90089.htm

HTML5移动Web开发笔记 http://www.linuxidc.com/Linux/2013-09/90088.htm

HTML5 开发中的本地存储的安全风险 http://www.linuxidc.com/Linux/2013-06/86486.htm

《HTML5与CSS3权威指南》及相配套源码 http://www.linuxidc.com/Linux/2013-02/79950.htm

关于 HTML5 令人激动的 10 项预测 http://www.linuxidc.com/Linux/2013-02/79917.htm

HTML5与CSS3实战指南 PDF http://www.linuxidc.com/Linux/2013-02/79910.htm

--------------------------------------分割线 --------------------------------------

.

即时搜索或input实时检测监听输入框变化的更多相关文章

  1. 监听输入框变化(oninput,onpropertychange,onchange)

    oninput,onpropertychange,onchange: oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于 ...

  2. 巧用 即刻搜索事件 input propertychange 监听输入框字数

    实时监听输入框的字数,大于200时,不再输入. 即时搜索: propertychange(ie)和input事件(常用) input是标准的浏览器事件,一般应用于input元素,当input的valu ...

  3. js监听输入框值的即时变化onpropertychange、oninput

    js监听输入框值的即时变化onpropertychange.oninput 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感. // //   要达到的效果 ...

  4. asp.net,监听输入框值的即时变化onpropertychange、oninput

    作者:自由天堂发布站点:WEB六零零 网页设计制作原文地址:http://www.web600.net/html/editor/JavaScript/201001131529.html 要达到的效果 ...

  5. javascript --- 实时监听输入框值的变化

    实时监听文本框值变化是非常常见的功能,通常最简单的办法就是用keyup,keydown来实现,但是这种方法有两个问题,一个是当直接复制粘贴的时候没法监听到事件,另外一个问题是在移动端,使用删除键删除输 ...

  6. jquery实时监听输入框值变化

    在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.而采用onchange时间又往往是在输入框失去焦点(onblur)时候触发,有时候并不能满足条 ...

  7. oninput和onpropertychange实时监听输入框值的变化

    oninput和onpropertychange实时监听输入框值的变化 传统监听输入框的做法就是使用keyup.keydown.keypress,或者change事件来实现,但keyup.keydow ...

  8. HTML5 oninput实时监听输入框值变化的完美方案

    在网页开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理组合快 ...

  9. 移动端用js与jquery实时监听输入框值的改动

    背景: 在一次移动端H5开发中,需要监听输入框值的实时变动. onchange事件肯定抛弃,因为只能失去焦点才触发. 而keyPress在Android可以触发,iOS不可以. 又不想用Android ...

随机推荐

  1. Centos 6.5 Zookeeper 安装

    tar -xvf zookeeper-3.4.8.tar.gz 修改配置文件 测试 上传启动脚本,内容如下: #!/bin/bash #chkconfig:2345 20 90 #descriptio ...

  2. Silicon Labs电视调谐器 si2151

    随着数字电视与数模混合电视在全球范围内的逐步普及,人们对于电视机的功能要求也随之不断攀升,进而对整个电视芯片行业造成了在价格与功耗等方面的强烈冲击. 而中国作为连续四年取得全球电视出货量第一的“电视大 ...

  3. 使用Sqlserver更新锁防止数据脏读

    有时候我们需要控制某条记录在程序读取后就不再进行更新,直到事务执行完释放后才可以.这时候我们就可以将所有要操作当前记录的查询加上更新锁,以防止查询后被其它事务修改.这种操作只锁定表中某行而不会锁定整个 ...

  4. Linux Shell编程入门

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  5. J2EE基础之JSP

    J2EE基础之JSP 1.JSP简介 JSP是JavaServer的缩写,是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.在HTML文件中加入Java程序代码 ...

  6. Netruon 理解(11):使用 NAT 将 Linux network namespace 连接外网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  7. POJ3160 Father Christmas flymouse[强连通分量 缩点 DP]

    Father Christmas flymouse Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 3241   Accep ...

  8. linux下更新python

    刚开始入门python,想直接入门python3,需要更新一下linux自带的python.自带的python是2.6,可以在终端root下键入python查看python版本. 1.从官网下载pyt ...

  9. 直线的参数方程ABC

    直线的参数方程的来源 如图所示, 直线\(l\)的倾斜角为\(\theta\),经过定点\(P_0(x_0,y_0)\),在直线上有一动点\(P(x,y)\),如果我们取直线的单位方向向量\(\vec ...

  10. Tomcat server.xml配置示例

    本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...