js如何监听input输入框值的实时变化
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家分享的是有关js如何监听input输入框值的实时变化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、在元素上同时绑定 oninput 和onporpertychanger事件
例:
<script type="text/JavaScript">
function aa(e){alert("inputting!!");}
</script>
<input type="text" id="a" oninput="aa(event)" onporpertychange="aa(event)" />
2、使用原生js添加监听事件
<script type="text/javascript">
$(function(){
if("\v"=="v"){//true为IE浏览器,感兴趣的同学可以去搜下,据说是现有最流行的判断浏览器的方法
document.getElementById("a").attachEvent("onporpertychange",function(e){
console.log("inputting!!");
}
}else{
document.getElementById("a").addEventListener("onporpertychange",function(e){
console.log("inputting!!");
}
}
});
</script>
<input type="text" id="a"/>
3、使用jQuery方法绑定事件
<script type="text/javascript">
$(function(){
$("#a").bind('input porpertychange',function(){
console.log("e");
});
});
</script>
<input type="text" id="a"/>
在监听到 onpropertychange 事件后,可以使用 event 的 propertyName 属性来获取发生变化的属性名称,event.propertyName
实例1:
<input type="text" oninput=" " onpropertychange="" value="Text field" />
实例2:
$("#name").bind('input porpertychange',function(){
var thisTxt=$("#name").val();
$(this).siblings("p").html(thisTxt)
})
实例3:
//手机号码分段显示
register.phonePropertychange = function() {
_this = register;
_input = $(this);
var v = $(this).val();
v = v.replace(new RegExp(/ /g),'');
var v1 = v.slice(0,3);
var v2 = v.slice(3,7);
var v3 = v.slice(7,11);
if(v2==''){
_input.focus().val(v1);
}else if(v3==''){
_input.focus().val(v1+' '+v2);
}else{
_input.focus().val(v1+' '+v2+ ' '+v3);
};
//手机号输入完成字体颜色改变
if (v.length === 11) {
if(_this.regexpPhone(v)){
_input.css('color','#000');
$('#btnSendCode').addClass('c-26a949');
_input.blur();;
}else{
layer.open({content: '手机号码不正确,请重新输入',time: 2, end:function(){
_input.val('');
}});
}
}else{
_input.css('color','#26a949');
}
}
//验证手机号
register.regexpPhone = function(phone){
return /^1[3|4|5|7|8]\d{9}$/.test(phone);
}
感谢各位的阅读!关于“js如何监听input输入框值的实时变化”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341