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)
上一篇 2022年4月17日 上午11:40
下一篇 2022年4月17日 下午12:00


相关推荐

  • 中国互联网金融协会发布“养龙虾”安全风险提示

    中国互联网金融协会发布“养龙虾”安全风险提示

    2026年3月15日
    2
  • PC端自适应使用rem

    PC端自适应使用rem做一个 PC 端的网页 设计图是 1920X1080 要在常见屏上显示正常 比如 1280XXXX1080 就要使用 REM width height margin padding left top 都采用了 REM 一 如何使用 1 PC 端当浏览器窗口变化时 内容的大小以及相对位置也会相应变化 这个依靠 JS 修改 HTML 的 FONT SIZE 值实现 如下

    2026年3月18日
    1
  • 点积应用-求两个向量夹角

    点积应用-求两个向量夹角之前 由点积求两条直线的夹角 只知道会用 不知道原量 今天看计算机图形学 才知道其原量 待记录如下 nbsp nbsp 点积最重要的应用时计算两个向量的夹角 或者两条直线的夹角 图给出了二维的情况 其中向量 b 和向量 c 与 x 轴的夹角分别为 B C 从基本三角函数可得 nbsp nbsp b b

    2026年3月26日
    2
  • PTA-集合相似度[通俗易懂]

    PTA-集合相似度[通俗易懂]原题链接输入样例:33 99 87 1014 87 101 5 877 99 101 18 5 135 18 9921 21 3输出样例:50.00%33.33%#include<bits/stdc++.h>#define x first#define y second#define send string::nopsusing namespace std;typedef long long ll;const int N = 1e4 + 10;cons

    2022年8月9日
    9
  • leapftp怎么用,掌握leapftp的使用方法只需6步

    leapftp怎么用,掌握leapftp的使用方法只需6步LeapFTP 是一款功能强大的 FTP 客户端软件 它拥有其他绝大多数 FTP 客户端的常见功能 在此基础上还拥有多达 13 种内置代理服务器类型 并且 LeapFTP 传输速度比较快 是一款非常不错的 FTP 软件 下面就开始介绍详细的使用方法 iis7 服务器管理工具 曾用名 IIS7 远程桌面 一 适用群体为 机房管理 站长 运维工作 程序员 等需要大量服务器或者电脑的用户朋友 二 当前可批量管理的为 1 win 系列的操作系统 含 VPS VM 2 linux 操作系统 CentOS Ubuntu Debian 等 支

    2026年3月16日
    1
  • Fiori架构介绍

    Fiori架构介绍要获取更多 Jerry 的原创文章 请关注公众号 汪子熙

    2026年3月17日
    2

发表回复

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

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