js的onchange(js replace函数)

jsonpropertychange函数当一个HTML元素的属性用js改变的时候,都能通过onpropertychange来捕获。例如一个<inputname=”text1″id=”text1″/>对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。也就是说:onpropertychange事…

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

js onpropertychange函数  

当一个HTML元素的属性用js改变的时候,都能通过 onpropertychange来捕获。例如一个 <input name=”text1″ id=”text1″ />对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。  
也就是说:onpropertychange事件在用键盘每改变一下文本框的值或用js改变其值便会触发一下,而onchange只有在用键盘改变其值,然后在失去焦点(onblur)后才触发,用js改变其值不能触发!onpropertychange和onchange都不管文本框中的实际值有没有变,只要有改的相应操作就可能触发。有时当上面两时间都不能满足需求时,可以考虑只用onblur。  

还有一点要注意到,当onblur和onchange事件一起用时,onblur会出问题。。。。详见如下  

测试页面:  

<html>  
<head> <title>通过js改变文本框中的值后触发的事件:onpropertychange事件 </title> </head>  
<body>  

<div id=”test1″>  
<b>测试onpropertychange事件和onchange事件一起用时: </b> <br>  
<font color=”red”>测试结果:onpropertychange事件在用键盘每改变一下文本框的值或用js改变其值便会触发一下,而onchange只有在用键盘改变其值,然后在失去焦点后才触  

发,用js改变其值不触发 </font>  
<br>  
<input name=”haha1″ type=”text” onpropertychange=”alert(‘触发了onpropertychange事件!’)” οnchange=”alert(‘触发了onchange事件!’)” size=”30″ >  
<input name=”testbutton1″ value=”通过js改变文本框中的值” type=”button” οnclick=”document.getElementById(‘haha1’).value=’js改变文本框后的值'”>  
<br>  
<br>  
<br>  

<div id=”test2″>  
<b>测试只有onblur和onchange事件时: </b> <br>  
<font color=”red”>测试结果:onchange先触发,onblur后触发 </font>  
<br>  
<input name=”haha2″ type=”text” οnblur=”alert(‘触发了onblur事件!’)” οnchange=”alert(‘触发了onchange事件!’)” size=”30″ >  
<input name=”testbutton2″ value=”通过js改变文本框中的值” type=”button” οnclick=”document.getElementById(‘haha2’).value=’js改变文本框后的值'”>  
<br>  
<div>  
<br>  
<br>  
<br>  

<div id=”test3″>  
<b>测试当onblur和onpropertychange事件一起用时: </b> <br>  
<font color=”red”>测试结果:onblur好象出了问题,只要用键盘在文本框中随便输入一个值,便会触发它。可能是onpropertychange把它惹毛了。。。^-^ </font>  
<br>  
<input name=”haha3″ type=”text” οnblur=”alert(‘触发了onblur事件!’)” onpropertychange=”alert(‘触发了onpropertychange事件!’)” size=”30″ >  
<input name=”testbutton3″ value=”通过js改变文本框中的值” type=”button” οnclick=”document.getElementById(‘haha3’).value=’js改变文本框后的值'”>  
<br>  
<div>  
<br>  
<br>  
<br>  
<div id=”test4″>  
<b>测试有onblur、onpropertychange事件和onchange事件一起用时: </b> <br>  
<font color=”red”>测试结果:onblur在和onpropertychange一起用时的问题仍然存在 </font>  
<br>  
<input name=”haha4″ type=”text” οnblur=”alert(‘触发了onblur事件!’)” onpropertychange=”alert(‘触发了onpropertychange事件!’)” οnchange=”alert(‘触发了  

onchange事件!’)” size=”30″ >  
<input name=”testbutton4″ value=”通过js改变文本框中的值” type=”button” οnclick=”document.getElementById(‘haha4’).value=’js改变文本框后的值'”>  
<br>  
<div>  

</body>  
</html> 

转载于:https://www.cnblogs.com/richelle009/archive/2011/08/17/2142850.html

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

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

(0)
上一篇 2022年4月17日 下午5:20
下一篇 2022年4月17日 下午5:20


相关推荐

  • 基于java的项目开发过程_软件开发项目管理整个流程图

    基于java的项目开发过程_软件开发项目管理整个流程图完整项目开发过程原型的设计有产品经理负责。界面的美化有专门的美工负责。前端有专门的前端开发人员负责。研发:研发主要工作就是根据项目的需求文档设计系统架构、设计数据库、编写调试程序代码。对于普通的码农来说,主要的就是编写和调试程序。基于Java的项目开发:1、要想编写程序,需要一个能编写源代码的编辑工具。例如:Notepad++;2、要想测试程序,需要一个编译、执行

    2025年7月23日
    4
  • 微信小程序商城项目实战(第七篇:生成订单支付页)

    微信小程序商城项目实战(第七篇:生成订单支付页)订单支付分析代码实现效果图展示分析顶部改为”支付”上方为地址,跳转至地址管理,可修改下方为订单信息最下方显示所需支付金额以及支付按钮,点击支付则支付成功跳转订单页如果不支付则可以在我的订单内容查看该订单并且继续支付代码实现改变顶部导航内容”navigationBarTitleText”:”支付”界面:<navigatorurl=”/pages/addressList/addressList”class=”user_info_row”wx:if=”{{statu!=’待发

    2022年6月2日
    51
  • Jmeter安装及入门教程(超详细)[通俗易懂]

    Jmeter安装及入门教程(超详细)[通俗易懂]一、Jmeter安装教程1、首先进入官网:Jmeter官网下载正版的Jemeter2、安装和本地JDK对应的JMeter版本我安装的是Jemeter5官方提示对应的是8以上的jdk,所以需要找到对应的JDK8对应的Jemeter4版本(注意版本一定要按官方提示的对应,否则后期会受影响)。附上官网上提供的全部版本的链接,大家按需下载安装包。3、点击下载,并解压。比如我解压到D盘目录下(这个随意,但最好不要在系统盘).个人认为要注意3点:1)解压之后压缩包叫apache-jmeter-

    2022年6月5日
    48
  • matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]

    matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]matlab加图名,坐标轴名,图例

    2025年12月1日
    9
  • PhpSpreadsheet_php获取表单数据

    PhpSpreadsheet_php获取表单数据在利用php读取Excel时,当前(2019年)流行的做法是利用composer安装PhpSpreadsheet(composerrequirephpoffice/phpspreadsheet)来操作,示例代码如下:$abs_excel_path=$_SERVER[‘DOCUMENT_ROOT’].’/data.xlsx’;$spreadsheet=\PhpOffi…

    2025年12月3日
    5
  • 分布式系统的 CAP 定理

    分布式系统的 CAP 定理CAP定理指出,在一个分布式系统中,对于一致性、可用性、分区容错这三个特性,不可能同时满足,而是必须有所舍弃。我们设计分布式系统时,必须在三者之间(尤其是一致性和可用性之间)有所取舍和平衡。作者:王克锋出处:https://kefeng.wang/2018/07/26/distributed-cap/版权:自由转载-非商用-非衍生-保持署名,转载请标明作者和出处。1概述…

    2025年7月20日
    5

发表回复

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

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