onpropertychange替代方案

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL SERVER的锁机制(二)——概述(锁的兼容性与可以锁定的资源)

二、完整的锁兼容性矩阵(见下图) 对上图的是代码说明&#xff1a;见下图。 三、下表列出了数据库引擎可以锁定的资源。 名称 资源 缩写 编码 呈现锁定时&#xff0c;描述该资源的方式 说明 数据行 RID RID 9 文件编号&#xff1a;分页编号&#xff1a;Slot编号 用于…

vue数组变化视图_vue对象数组数据变化,页面不渲染

data() { // data数据return {arr: [1,2,3],obj:{a: 1,b: 2}};},// 数据更新 数组视图不更新this.arr[0] OBKoro1;this.arr.length 1;console.log(arr);// [OBKoro1];// 数据更新 对象视图不更新this.obj.c OBKoro1;delete this.obj.a;console.log(obj); // {b:2,c:OBKoro1}…

jsp里面编写java代码注意加双引号

jsp里面编写java代码注意加双引号 if("<%type%>""open"){document.getElementById("e").focus();}

angularjs1访问子组件_Vue学习笔记之组件的应用

Vue组件的应用&#xff1a;1、基础使用&#xff1a;第一步创建组件&#xff0c;第二步注册组件&#xff0c;第三步使用组件。在注册组件是需要用到template的属性。全局组件和局部组件组件的嵌套(父子组件)&#xff1a;注意先后顺序&#xff0c;先声明&#xff0c;后面才能用2、…

Qt 程序打包发布总结

1. 概述 当我们用QT写好了一个软件&#xff0c;要把你的程序分享出去的时候&#xff0c;不可能把编译的目录拷贝给别人去运行。编译好的程序应该是一个主程序&#xff0c;加一些资源文件&#xff0c;再加一些动态链接库&#xff0c;高大上一些的还可以做一个安装文件。 QT开发…

什么是activemq_什么是ActiveMQ?

什么是activemq尽管Active MQ网站已经对ActiveMQ进行了详尽的介绍&#xff0c;但我想在其定义中添加更多上下文。 从ActiveMQ项目的网站上&#xff1a; “ ActiveMQ是JMS 1.1的开源实现&#xff0c;是J2EE 1.4规范的一部分。” 这是我的看法&#xff1a;ActiveMQ是一种开源消…

jdk1.8 stream() 把List <String>变成String

jdk1.8 stream() 把List 变成StringList<String> zts ss.getZts(); if (!CollectionUtils.isEmpty(zts)){String zt zts.stream().collect(Collectors.joining(",", "", "")); }就可以变成1,2 这种形式

boost跨平台 c++_跨平台C++整数类型 之一 固定宽度整数(boost和C++11)

原来一直使用ACE的跨平台整数类型&#xff0c;比如&#xff1a;ACE_UINT32, 但是自己使用C的风格是明显的现代风格&#xff0c;以范型为主&#xff0c;所以最近开始逐步替换ACE的代码&#xff0c;改用boost库。在boost库中&#xff0c;standard integer types用来支持跨平台的整…

FTP服务器原理

21.1 FTP服务器原理使用明码传输方式&#xff0c;且有相当多的安全危机历史。因此一般使用功能较少的vsftpd这个软件。21.1.1 FTP功能简介有以下功能文档传输与管理不同等级的用户身份&#xff1a;user&#xff0c;guest&#xff0c;anonymous命令记录与登录文件记录限制用户活…

jdk1.8 stream() 把List<Map<String,Object>> 变成Map<Object, List<Map<String, Object>>>

jdk1.8 stream() 把List<Map<String,Object>> 变成Map<Object, List<Map<String, Object>>>List<Map<String,Object>> list jdbc.queryForList(sql); Map<Object, List<Map<String, Object>>> map list.stream(…

java对两个表进行排序_Excel工作簿中多个worksheet工作表,如何对工作表进行排序?...

案例&#xff1a;如下图所示&#xff0c;一个Excel文件中&#xff0c;包含了多个工作表&#xff0c;有1-雷哥office&#xff0c;2-雷哥office......但是&#xff0c;我们发现工作表的顺序是比较混乱的&#xff0c;为了方便管理&#xff0c;如何对工作表进行排序呢&#xff1f;方…

mysql5.7用户管理

添加用户 命令&#xff1a;create user usernamehost identified by password 例子&#xff1a;create user changfeng% identified by 111111 配置用户权限 命令&#xff1a;grant privileges on database.table to usernamehost 例子&#xff1a;grant all on *.* to changfe…

jdk1.8 stream() 把List对象 变成String

jdk1.8 stream() 把List对象 变成StringString dm list.stream().map(XXX -> XXX.getDm()).collect(Collectors.joining(",", "", ""));有时候获取到一个List<XXX>(XXX是对象),因为业务需求,我们想要获取其中一个属性&#xff0c;变成…

Spring Cloud Ribbon –进行安全呼叫

很简单&#xff0c;但是最近我为此感到困惑 –我必须对安全的远程服务进行基于Netflix Ribbon的客户端调用。 事实证明&#xff0c;使用Netflix Ribbon可以通过两种方式实现这一点&#xff0c;我将通过Spring Cloud对Ribbon库的出色支持来演示这一点。 在之前的两个博客文章中…

python、中循环功能可通过什么命令实现_python定时执行指定函数的方法 Python如何定时循环执行命令?...

python中如何定时执行某一个函数 怎么连接。。先调用注册函数 然后调用登录函数就行。顺序执行。至于如果你说注册失败不进行登录的话 直接在注册函数里面处理 注册失败 return def sign_up(user,pwd): #注册代码... # if not sign_up_true: # 注册失败 返回false return fals如…

我的做题日志(1),来源:COCI2017,SDOJ

Mirko在一家大型IT公司暑假实习。 该公司构建了一个由N行和M列组成的大型数据库。 在他第一天&#xff0c;Mirko收到了Q个查询。 每个查询由M个数字组成。 然而&#xff0c;一些数字在传输过程中丢失&#xff0c;所以它们用-1表示。 Mirko想知道数据库中有多少行对应于查询&…

java异步队列

文章目录前言一、异步队列实现思路&#xff1f;二、实现步骤1.加入监听器2.实现监听器3.实现转交处理对象和转交处理线程4.自动转交异步处理5.业务如何添加前言 在某些场景下&#xff0c;操作比较耗时&#xff0c;给用户体验不是很好&#xff0c;这时候我们就会直接想到两种方…

python27怎么使用_pygtk:glade的使用(针对python27的第一个例子)

glade是一个用来创建GTK界面的软件&#xff0c;这个界面以xml形式表示。这样达到了界面与语言分离的效果&#xff0c;pygtk就能使用这种方法来快速构建界面。在知道这个以前&#xff0c;我一直都是一个一个字母的敲出来的界面&#xff0c;实在无法忍受已经准备投入pyqt怀抱的时…

Kali 2017更新源

一、添加更新源 leafpad /etc/apt/sources.list 二、国内更新源 #autodeb http://http.kali.org/kali kali-rolling main non-free contrib#中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rol…

获取hh:mm:ss

获取hh:mm:ss format(date, "HH:mm:ss")