对于监控输入框或者下拉框这些表单元素,大家都有很有方法。keyup,keydown,change这些事件去监控都是一种思路,不过基本在都存在缺点。本文采用监控focus和blur事件的方式来实现:focus后开始监控,blur后停止监控,兼容性很好,不多说了,直接上代码了:
实现代码: $.fn.focuschange = function(callback) { return this.each(function() { var state = $.data(this, "focusblurlistener", { validating: true, value: undefined }); var box = $(this); box.unbind(".focusblurlistener").bind("focus.focusblurlistener", function(event) { state.validating = true; state.value = state.value || ""; (function() { if(state.validating) { if(state.value != box.val()) { callback.call(this, event, state.value, box.val()); state.value = box.val(); } setTimeout(arguments.callee, 200); }else{ return; } })(); }).bind("blur.focusblurlistener", function() { state.validating = false; }); }); }; 使用方式: $(function(){ $(selector).focuschange(function(e,oldValue,newValue){ alert('旧值:' + oldValue + ";新值:" + newValue); }); }); 大家也看到源码的实现方式了,focus的时候出发一个不断自我递归的函数监控元素value变化;blur的时候停止监控。
相关推荐
基于jquery框架,采用jQuery formValidator表单验证插件。
jquery表单验证插件
jQuery表单元素美化插件,jQuery表单元素美化插件,jQuery表单元素美化插件,jQuery表单元素美化插件,jQuery表单元素美化插件
jquery实现父元素大小改变插件:jquery-resize
jQuery-Validation-Engine-master 表单验证插件 简单好用,已经包含汉化
这是一款基于jquery ui的手动旋转元素插件 。它是对jquery ui插件的补充,添加了手动旋转元素的功能。
jQueryUI jQueryUI插件 键盘插件 基于 jQueryUI 的小键盘 可灵活修改
基于jquery的表单验证框架,基于jquery的表单验证框架,基于jquery的表单验证框架.
基于jquery ui的手动旋转元素插件jquery-ui-rotatable.zip
jQuery Validation表单验证插件实例合集,是锋利的JQuery第七章中的一个典型实例,一步步向大家讲解如何使用基于jQuery的表单验证插件jquery.validate.js和jquery.validate.messages_cn.js的使用方法,一共包含了7个...
*获得TEXT.AREATEXT的值*/
jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)...
jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)...
Query表单元素美化插件jqtransform是一款非常实用,可以美化文本框,checkbox复选框,radio单选框,select下拉框等。
基于jquery的imgbox图片预览插件Demo源码
基于jQuery的图片左右无缝滚动插件
JQuery添加删除表单元素代码是一款基于jquery.dynamic-rows插件实现的表单添加删除特效代码
基于jquery的表单验证,它的性能、便捷、功能、人性化已远远超越jquery自己官方的jquery.validate插件,用过你就知道好,压缩包里面有demo