我们都知道,jQuery有一个onchange的事件来判断类似input或者textarea标签值变化的事件。

jQuery中是通过比如keyup,blur,click等事件来监听值的变化,如果变化就触发change事件。

jQuery.event.special.change = {
        filters: {
            focusout: testChange,
 
            beforedeactivate: testChange,
 
            click: function( e ) {
                var elem = e.target, type = elem.type;
 
                if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
                    testChange.call( this, e );
                }
            },
 
            // Change has to be called before submit
            // Keydown will be called before keypress, which is used in submit-event delegation
            keydown: function( e ) {
                var elem = e.target, type = elem.type;
 
                if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
                    (e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
                    type === "select-multiple" ) {
                    testChange.call( this, e );
                }
            },
 
            // Beforeactivate happens also before the previous element is blurred
            // with this event you can't trigger a change event, but you can store
            // information
            beforeactivate: function( e ) {
                var elem = e.target;
                jQuery._data( elem, "_change_data", getVal(elem) );
            }
        },
 
        setup: function( data, namespaces ) {
            if ( this.type === "file" ) {
                return false;
            }
 
            for ( var type in changeFilters ) {
                jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
            }
 
            return rformElems.test( this.nodeName );
        },
 
        teardown: function( namespaces ) {
            jQuery.event.remove( this, ".specialChange" );
 
            return rformElems.test( this.nodeName );
        }
    };

更多相关文章

  1. 屏蔽标签的href跳转功能
  2. 前端笔记之JavaScript(十)深入JavaScript节点&DOM&事件
  3. 使用Javascript / jQuery的/ CSS。如何在目标div之外维护拖动事
  4. Github推送事件签名不匹配
  5. 在鼠标悬停事件中使用Javascript隐藏内容
  6. 谷歌Chrome复制了JavaScript的“焦点”事件
  7. js“DOM事件”之鼠标事件、js的测试方法、js代码的放置位置
  8. 使用angularjs添加包含事件的新标记
  9. jqGrid 数据加载完事件 loadComplete 使用

随机推荐

  1. Android:布局(相对布局RelativeLayout)
  2. Android 开发从入门到精通
  3. Android学习规划和学习资料
  4. [Android] TextView的垂直滚动效果
  5. android native c development
  6. 跑马灯效果:
  7. Android 限制EditText只能输入数字、限制
  8. 关于Android软键盘弹出,会把原来的界面挤
  9. Android SDK相关问题
  10. Android xml资源文件中@、@android:type