jQuery/原生JS实时监听input输入框值变化 |
您所在的位置:网站首页 › a标签disable的时候怎么改变值 › jQuery/原生JS实时监听input输入框值变化 |
首先看一下dom中input事件: onpropertychange: IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获。onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件。 在用js脚本改动该元素值时候亦能触发onpropertychange事件。oninput:是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。onchange: (a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效);(b)当前对象失去焦点(onblur);
onchange: 1、要在 input 失去焦点的时候才会触发; 2、在输入框内容变化的时候不会触发change,当鼠标在其他地方点一下才会触发; 3、onchange event 所有主要浏览器都支持; 4、onchange 属性可以使用于:, , 和 。 function change(){ var x=document.getElementById("password"); x.value=x.value.toUpperCase(); console.log("出发了") } 输入你的密码:
oninput: 1、在用户输入时触发,它是在元素值发生变化时立即触发; 2、该事件在 或 元素的值发生改变时触发。 3、缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。 JS: jQuery: $("#password").on('input propertychange', change);onpropertychange: 1、会实时触发,会在元素的属性改变时就触发事件。当元素disable=true时不会触发 2、缺陷:只在IE 下支持,其他浏览器不支持,用oninput来解决。 完整用法 jQuery: RunJS $(function(){ $('#password').bind('input propertychange', function() { console.log('在实时触发!!!') $('#result').html($(this).val().length); $(this).val().length != 0 ? $("#login").css("background-color", "#086AC1") : $("#login").css("background-color", "#529DE0") }); })JavaScript; // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9 function OnInput (event) { alert ("The new content: " + event.target.value); } // Internet Explorer function OnPropChanged (event) { if (event.propertyName.toLowerCase () == "value") { alert ("The new content: " + event.srcElement.value); } }
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |