onpropertychange替代方案[通俗易懂]

onpropertychange替代方案1.onpropertychange的介绍onpropertychange事件就是property(属性)change(改变)的时候,触发事件。这是IE专有的!如果想兼容其它浏览器,有个类似的事件,oninput!可能大家会想到另外一个事件:onchange。但是,onchange有两个弊端。一、就是它在触发对象失去焦点时,才触发onchange事件。二、如果得用javascript改变触发对象的属性时,并不能触发onchange事件,oninput也

大家好,又见面了,我是你们的朋友全栈君。



onpropertychange替代方案

1.onpropertychange的介绍

onpropertychange事件就是property(属性)change(改变)的时候,触发事件。
这是IE专有的!
如果想兼容其它浏览器,有个类似的事件,oninput!

可能大家会想到另外一个事件:onchange。

但是,onchange有两个弊端。
一、就是它在触发对象失去焦点时,才触发onchange事件。
二、如果得用javascript改变触发对象的属性时,并不能触发onchange事件,oninput也有这个问题。

onpropertychange会在设置disable=true的时候失效。而且,onpropertychange是在触发对象改变任何属性时都会触发。而oninput只是在改变input的value值时才触发。

oninput 事件:不但JS 改变 value 值时不能触发,有从浏览器的自动下拉提示中选值时,也不会触发。

onpropertychange触发函数只有一个默认参数,是所以可以触发属性的集合

2.onclick,onchange替代onpropertychange,但是都有一定的弊端

3.当遇到 input type=“hidden” ,有熟知的两种方法。

(1)使用js,手动触发,例如trigger,或者在改变的后面跟一个要触发的方法

(2)使用定时器,当场景比较复杂的时候使用,但也存一定的弊端

<input type="hidden" name="nba" id="nba" value="<%=nba %>" class="changeData" changeFunc=change("nba") tempVal="">
<input type="hidden" id="cba" name="cba" value="<%=cba %>" class="changeData" changeFunc=change("cba") tempVal="">
setInterval("monitorChange()",1000);
function monitorChange(){ 
   
        $(".changeData").each(function () { 
   
            var changeFunc = $(this).attr("changeFunc");
            if (changeFunc) { 
   
                var tempval = $(this).attr("tempVal");
                var val = $(this).val();
                if (tempval != val) { 
   
                    eval(changeFunc);
                }
                $(this).attr("tempVal", val);
            }
        })
    }

4. 如果日期控件使用Wdatepicker97,可以使用onpicked和oncleared来替代onpropertychange

onClick="WdatePicker({minDate:'#F{$dp.$D(\'rq\')}',onpicked: function(){rq();},oncleared: function(){rq();}})"

My97日期控件API

5.注意

input标签 onchange IE 8好像是不行的,
input不要用这个onchange ,其他的普通input场景一般用onblur

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126892.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Eclipse汉化教程(详细图解)

    Eclipse汉化教程(详细图解)eclipse语言包下载:http://www.eclipse.org/babel/downloads.php1、打开浏览器,浏览“参考资料”内给出的“eclipse语言包下载”地址,在博客新页面找到地址链接,如图所示。“BabelLanguage…”开头的一栏下面就是各个eclise版本的语言包,2、目标锁定“BabelLanguagePackUpdateSiteforNeon”

    2022年6月5日
    151
  • 网页音乐播放器代码

    网页音乐播放器代码网页音乐播放器代码如果你也想往自己的博客里,网页里加入音乐播放器,只要复制下面的网页音乐播放器代码,做适当的修改就可以啦!有很多播放器可以选择,不要挑花眼哦!中true或1表示自动播放,false或0表示手动播放loop=”true”中的true或1表示重复播放,f

    2022年6月16日
    35
  • PO模式思想「建议收藏」

    PO模式思想「建议收藏」1.怎么判断测试有没有通过?断言成功代表用例成功,断言失败代表用例失败。存结果,是因为如果这个用例失败了,还想看下接口当中到底给你返回的数据是什么,失败在哪里。页面的断言是非常精细的,说…

    2022年5月1日
    48
  • 什么是幂等性?(幂等处理是什么意思)

    HTTP幂等方法,是指无论调用多少次都不会有不同结果的HTTP方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。HTTPGET方法HTTPGET方法,用于获取资源,不管调用多少次接口,结果都不会改变,所以是幂等的。GET/tickets#获取ticket列表GET/tickets/12#查看某个具体的ticket只…

    2022年4月17日
    102
  • 说明电磁型继电器的工作原理_永磁继电器工作原理

    说明电磁型继电器的工作原理_永磁继电器工作原理原文地址点击这里:电磁继电器(electromagneticrelay)是一种电子控制器件,它具有控制系统(输入回路)和被控制系统(输出回路),通常应用于自动控制电路中,它是用较小的电流、较低的电

    2022年8月1日
    8
  • DDD中的建模方法有哪些[通俗易懂]

    DDD中的建模方法有哪些[通俗易懂]一、背景在之前的文章中已经介绍了DDD相关的概念模式,DDD相关的业务技术架构,但是我们还没有找到一个核心的抓手去实践DDD。DDD的一个核心本质就是对业务建模,或者领域建模。说的很简单,但是做好确实很难,一个需求过来意淫几个实体对象就差不多解决了。深入看,全局看只在脑海中进行的建模实际上并不一定正确和稳定。因此我们需要找到正确的方法帮助对业务领域进行分析,得到建模结构,共享建模成果。二、四色建模法2.1起源&概念&要素关于四色建模的概念我们可与追溯到90年代,起源于四色原型。四色

    2022年9月2日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号