jQuery 监听修改文本框事件

在开发中,有时我们需要对  input 的  value 值变化作实时响应。比如文本输入框的实时字数统计功能,要求文本框内容改变时就要触发相关的统计行为。不管这个内容是键盘输入的,还是鼠标粘贴进来的。

1,实现原理
要实现内容实时监听响应,我们需要用到两个监听事件: oninput  事件和  propertychange  事件
(1) oninput
这个是标准浏览器的事件,一般浏览器都支持。当  input  的  value  发生变化时就会发生,无论是键盘输入还是鼠标粘贴的改变都能即时监听到。
原文:jQuery - 监听input组件的内容改变,并进行实时响应

(2) propertychange
由于  IE9 以下是不支持的  oninput 事件。这个时候就要用到IE专有的  propertychange 事件。顾名思义,翻译过来叫属性变更事件。 这个事件就比较强大了,不仅仅会监听到  input value 属性,还包括其他的标签属性。各种属性发生变化都会产生该事件,比如  span 元素的  style 属性改变。同时在事件发生时还可以用  event.propertyName 访问到改变的属性名。

2,样例演示
下面使用  jQuery 做一个字数实时统计功能。当文本框内容改变时,下方会实时统计出当前的字数。
原文:jQuery - 监听input组件的内容改变,并进行实时响应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
   <head>
     <title>hangge.com</title>
     <meta charset= "utf-8" />
     <script type= "text/javascript"  src= "jquery-1.11.1.min.js" ></script>
     <script>
       $(document).ready( function (){
         $( '#comment' ).on( 'input propertychange' function () {
          var  count = $( this ).val().length;
          $( '#tip' ).html( "已输入 " + count + " 个字。" );
         });
       });
     </script>
   </head>
   <body>
     <textarea id= "comment"  rows= "5"  cols= "50" ></textarea>
     <br>
     <div id= "tip" ></div>
   </body>
</html>




原文出自: www.hangge.com   转载请保留原文链接: http://www.hangge.com/blog/cache/detail_1378.html


  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值