兼容Firefox和IE的onpropertychange事件oninput

原文 兼容Firefox和IE的onpropertychange事件oninput

onpropertychange能够捕获每次输入值的变化。例如:对象的value值被改变时,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。

在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变。
onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件。 

 例子: 

复制代码代码如下:

<html>  
<body>  
<div>oninput测试</div>  
<div id="testdiv"><input id='tx1' name="tx1" value="" /></div>  
</body>  
</html>  
<script language="JavaScript">  
    <!--  
function getOs(){//判断浏览器类型  
    var OsObject = "";  
   if(navigator.userAgent.indexOf("MSIE")>0) {  
        return "MSIE";  
   }  
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
        return "Firefox";  
   }  
   if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  
        return "Safari";  
   }   
   if(isCamino=navigator.userAgent.indexOf("Camino")>0){  
        return "Camino";  
   }  
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){  
        return "Gecko";  
   }  

}  

if(navigator.userAgent.indexOf("MSIE")>0){  
document.getElementById('tx1').attachEvent("onpropertychange",txChange);  
}else if(navigator.userAgent.indexOf("Firefox")>0){  
    document.getElementById('tx1').addEventListener("input",txChange2,false);  
}  
function txChange(){  
    alert("testie");  
}  
function txChange2(){  
    alert("testfirefox");  
}  
</script> 

以上就是兼容Firefox的onpropertychange事件方法。

 

 

时间: 2024-08-01 22:22:08

兼容Firefox和IE的onpropertychange事件oninput的相关文章

兼容Firefox和IE的onpropertychange事件oninput_表单特效

在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获.可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变.onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件. [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

asp.net关于onpropertychange和oninput事件实现代码_实用技巧

整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤. 根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydown或者onkeypress,在试的过程中发现再输入中文时,无法响应,因为输入方会将焦点给屏蔽了.在网上寻觅了一会发现onpropertychange事件为改变文本属性时就会出发,所以当文本框输入数据的时候其实是在改变文本框的value属性.而且中文也可以满足,本以为大功告成,最后才发现这个事件为IE的专属事件,其他的浏览器并

IE浏览器兼容Firefox的JS脚本的代码_javascript技巧

1.window.event兼容脚本 2.屏蔽Form提交事件 3.获取事件源 4.添加事件兼容写法 5.Firefox注册innerText写法 6.长度 7.父控件下的子控件 8.XmlHttp 1.window.event兼容脚本 function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法 if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1)

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1) <script language="网页特效"> function document.onmouseo教程ver() {   document.all("txtbox").value=event.screenX+"x"+event.screenY; } private void Button1_Click(object sender,

Firebug1.10正式版发布兼容Firefox 13~16版本

文章描述:Firebug1.10正式版发布兼容Firefox 13~16版本. 在经过了12个alpha以及4个beta版本后,Firebug团队终于发布了Firebug 1.10正式版,兼容Firefox 13~16版本. 该版本修复了214处问题(其中包括79处功能增强),并进行了超过50次自动化测试,以保证版本的稳定性.该版本引入的新特性包括: 安装后无需重启浏览器 延迟加载 Cookies管理 命令语法高亮 自动完成 Trace样式 新的help命令 链接到声明Web-font的地方 支

兼容Firefox 3.6最好的IE Tab的替代插件:Coral IE Tab

Firefox 3.6 发布有一段时间了,由于个别扩展插件不能很好地兼容这个最新版本,所以,就一直没去升级更新,其中就包括Web开发人员必备的IE Tab也不能兼容Firefox 3.6 . 这里推荐一款最好的IE Tab的替代插件 – Coral IE Tab. Coral IE Tab,是一个从 IE Tab 分支出来的扩展,它继承了 IE Tab 在 Firefox 中调用 IE 的内核的功能,这样不仅对于Web 开发人员来说调试网页在不同浏览器下的兼容性更加方便,而且对于普通的用户,当遇

如何在JSP上放置兼容Firefox、IE、Chrome的applet

 pplet虽然已经基本上没人用了.但是它还有一些应用场景的,为了兼容性.为了各个浏览器,不能直接直接写<applet>标签,最后考虑一下测试了几天,最后还是写如下比较适合多个浏览器兼容,希望对大家有所帮助 <%@page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8&quo

兼容Firefox 3的常用扩展工具推荐

Mozilla FireFox(下载)扩展是一种具有一些新功能的加载项,这些扩展可以允许应用定制以适应个人的需求,因为每个用户可能都会有一些额外的需求,而FireFox的主程序可以做到尽量的小巧.以前我曾经介绍过很多Firefox 2.0的扩展,随着Firefox 3.0的发布,我就再介绍十个兼容Firefox 3.0的常用扩展. Google Toolbar- Google工具栏具有拦截广告.自定义按钮.建立书签.网页翻译等多项功能,使得搜索和浏览更为方便,非常好用. Adblock Plus

js Firefox 加入收藏夹功能代码 兼容Firefox 和 IE_javascript技巧

完整代码如下:chrome下也有提示,说实话一般这类代码一般都是IE下使用,其它浏览器也只是给个提示了. <script type="text/javascript"> //设为首页 www.jb51.net function SetHome(obj,url){ try{ obj.style.behavior='url(#default#homepage)'; obj.setHomePage(url); }catch(e){ if(window.netscape){ try