添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
onpropertychange可以解决上面存在的问题(但缺点是IE专属)
oninput(属于html5,IE9以下的浏览器是不支持oninput事件)
所以我们需要综合oninput和onpropertychange
以下是使用oninput和onpropertychange实现监听文本框内容实例:
案例需求:
请用JavaScript实现,控制一个文本框只能输入正整数,如输入不符合条件则文本框全部字体标红。
要求写出完整的文本框HTML代码和JavaScript逻辑代码。 对于JS原生写法而言, oninput 是 HTML5 的标准事件
oninput 事件在 IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代,这个事件在用户界面改变或者使用脚本直接修改内容两种情况下都会触发,有以下几种情况:
·修改了 input:checkbox 或者 input:radio 元素的选择中状态, checked 属性发生变化。
·修改了 input:text 或者 textarea 元素的值,value 属性发生变化。
·修改了 select 元素的选中项,selectedIndex 属性发生变化。
在监听到 onpropertychange 事件后,可以使用 event 的 propertyName 属性来获取发生变化的属性名称。
集合 oninput & onpropertychange 监听输入框内容变化的示例代码如下:
</head>
<input type="text" id='text'>
<!-- 使用js需要做一下兼容 -->
<script>
var text=document.getElementById("text");
if('oninput' in text){//是否支持oninput
text.addEventListener("input", function(){
this.style.color = /^[1-9]\d*$/.test(this.value) ? "#000" : "#f00";
},false);
}else{//ie7 8
text.onpropertychange = function(){
this.style.color = /^[1-9]\d*$/.test(this.value) ? "#000" : "#f00";
</script>
使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码:
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$('#text').bind('input propertychange', function() {
$(this).css('color',/^[1-9]\d*$/.test($(this).val()) ? "#000" : "#f00");
</script>
</body>
</html>
  • 清酒红人面,财帛动人心

    2023-03-16 10:17

  • mac中给.command文件加权限 上级目录打开命令行运行 sudo chmod +x ./文件名.command

    2023-02-17 11:06

  • Jon
    @时雨:哈哈,我也看不懂
  • 时雨
    啥啊?一堆加密通信吗?
  • html+css(25) js+jquery+ajax(55) js库(17) angular(13) 前端工具(16) 其他(10)
  • deployUrl解决angular项目打包后静态资源的部署到其它目录的问题
  • 使用 navigator.userAgent 判断当前浏览器内核
  • js模拟元素点击事件以及下载网络资源文件方法乱炖
  • seajs+spm3修炼手册
  • 2023年1月(1)
  • 2022年8月(1)
  • 2022年5月(1)
  • 2021年8月(1)
  • 2021年7月(1)
  • 2021年6月(1)
  • 2021年5月(1)
  • 2021年4月(1)
  • 2021年3月(2)
  • 2021年2月(3)
  • 2021年1月(3)
  • 2020年12月(1)
  • 2020年11月(2)
  • 2020年10月(2)
  • 2020年9月(2)
  • 2020年8月(2)
  • 2020年7月(3)
  • 2020年6月(3)
  • 2020年5月(7)
  • 2020年4月(5)
  • 2020年3月(3)
  • 2020年2月(2)
  • 2020年1月(2)
  • 2019年12月(2)
  • 2019年11月(1)
  • 2019年10月(3)
  • 2019年9月(1)
  • 2019年8月(2)
  • 2019年7月(4)
  • 2019年6月(5)
  • 2019年5月(5)
  • 2019年4月(3)
  • 2019年3月(2)
  • 2019年2月(2)
  • 2019年1月(3)
  • 2018年12月(1)
  • 2018年11月(1)
  • 2018年10月(1)
  • 2018年9月(2)
  • 2018年8月(1)
  • 2018年7月(1)
  • 2018年6月(3)
  • 2018年5月(2)
  • 2018年3月(1)
  • 2018年2月(1)
  • 2018年1月(1)
  • 2017年11月(1)
  • 2017年10月(1)
  • 2017年8月(2)
  • 2017年5月(1)
  • 2016年11月(1)
  • 2016年10月(2)
  • 2016年9月(1)
  • 2016年8月(1)
  • 2016年7月(2)
  • 2016年6月(2)
  • 2016年5月(7)
  • 2016年4月(6)
  • 2016年3月(3)
  • 2016年2月(2)
  • 2016年1月(3)
  • 2015年12月(2)
  • 2015年11月(2)
  • 2015年10月(3)
  • 2015年9月(2)
  • 2015年8月(4)
  • 2015年7月(4)
  • 2015年6月(8)
  • 2015年5月(34)
  • 2015年4月(8)
  • 2015年3月(2)
  •