这篇文章主要介绍了jquery中change()用法,实例分析了change的功能、定义及具体的使用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例分析了jquery中change()的用法。分享给大家供大家参考。具体分析如下:
change()当元素的值发生改变时,会发生 change 事件。该事件仅适用于文本域(text field),以及 textarea 和 select 元素。
当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,该事件会在元素失去焦点时发生。
一、change的用法
1、触发 change 事件:触发被选元素的 change 事件
语法: $(selector).change()
2、将函数绑定到 change 事件:规定当被选元素的 change 事件发生时运行的函数。
语法: $(selector).change(function)
二、jquery中change()实例
<html> <head> <script type="text/javascript" src="jquery文件"></script> <script type="text/javascript"> $(document).ready(function(){ $(".field").change(function(){ $(this).css("background-color","#FFFFCC"); }); $("button").click(function(){ $("input").change(); }); }); </script> </head> <body> <button>激活文本域的 change 事件</button> <p>Enter your name: <input class="field" type="text" /></p> </body> </html>
<html> <head> <script type="text/javascript" src="jquery文件"></script> <script type="text/javascript"> $(document).ready(function(){ $(".field").change(function(){ $(this).css("background-color","#FFFFCC"); }); }); </script> </head> <body> <p>在某个域被使用或改变时,它会改变颜色。</p> Enter your name: <input class="field" type="text" /> <p>Car: <select class="field" name="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="fiat">Fiat</option> <option value="audi">Audi</option> </select> </p> </body> </html>
oninput,onpropertychange,onchange的用法
l onchange触发事件必须满足两个条件:
a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur);
l onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的;
l oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。
在textarea中,如果想捕获用户的键盘输入,用onkeyup检查事件就可以了,但是onkeyup并不支持复制和粘贴,因此需要动态监测textarea中值的变化,这就需要onpropertychange(用在IE浏览器)和oninput(非IE浏览器)结合在一起使用了。
onpropertychange的bug
在代码实现时,发现在响应用户onclick了textarea时,如果使用obj.className="XX";来改变textarea输入框中字体的样式,会导致在ie下会有在输入第一个字符的时候onpropertychange不会触发的bug,因此需要这样设置:obj.style.color="#000";
先说jquery, 使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码:
$('#username').bind('input propertychange', function() { $('#content').html($(this).val().length + ' characters');});
以上是jquery事件change()的使用详解的详细内容。更多信息请关注PHP中文网其他相关文章!