chrome input file 慢中input的onpropertychange事件无法使用,怎么办

hidden类型的input控件onchange事件为何不起作用?如下:,这种用法当input控件的value值改变时,onChange中注册的事件竟然没有触发。而将onChange换成onpropertychange后,方法就被触发了。
有才氐菰跕
既然隐藏,难道onchange是代码调用?既然代码调用,何必非要通过绑定这个事件来执行。。。
为您推荐:
扫描下载二维码本帖子已过去太久远了,不再提供回复功能。chrome中input的onpropertychange事件无法使用,怎么办?_chrome吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:140,438贴子:
chrome中input的onpropertychange事件无法使用,怎么办?收藏
如题:&input type="text" value="" onpropertychange="alert('哈哈!')" /&这段代码在IE浏览器中可是使用,但是chrome中怎么不能用呢?如果要监听这个文本中的内容,该怎么处理?
下载百度浏览器,尽享爱奇艺VIP,百度文库VIP,百度云会员奖等特权!还有一键换色,动态截图,即搜即得等智能功能,让页面浏览更快,更流畅,更稳定!
onpropertychange is IE-only.
I know that, but this time I just want to realize the same function just like 'onpropertychange' in IE!
百度密语(}~.].__?]]?@@{{?_.[.*-.?~!{*(*{[(`?{[)`(((~!*{@{*!*]_)@_?@~,.@-[@][,[!)~{]]*_{,!@~]@~)}*-``}{?`]@.{__@)`{]_,,_]!*(*!@)]@*-})}!*{-@`-.}[_!])~@?_-*.[!?~~]_`(.}*)([*_)!}?),~?_@@))?[`)@?-}-~)`].~]?@.-[!?!@}@~{_?-{*,)!{]~!_}_@,[-}(*(!]](_{[*)[_*{#
Try 'oniput'.
是oninput,手滑了 = =
后来终于尝试出来了。其实oninput和onpropertychange还是有区别的。对于IE来说使用onpropertychange没问题,Firefox使用oninput似乎也没问题。chrome使用poninput的时候如果这个input的id是固定的,那么操作起来也没问题,可是一旦这个id是动态的,或者说一些列的&input type=text /&这样的情况,chrome似乎是不支持的,使用oninput也没一点响应。
解决了:直接oninput="txtChange()" onpropertychange="txtChange()" 都加上不就得了
哈。这里。test
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或1、onchange事件与onpropertychange事件的区别:
onchange事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发;onpropertychange事件却是实时触发,即每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件IE专有。
2、oninput事件与onpropertychange事件的区别:
oninput事件是IE之外的大多数浏览器支持的事件,在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变 value时,却不会触发;onpropertychange事件是任何属性改变都会触发的,而oninput却只在value改变时触发,oninput要通过addEventListener()来注册,onpropertychange注册方式跟一般事件一样。(此处都是指在js中动态绑定事件,以实现内容与行为分离)
3、oninput与onpropertychange失效的情况:
(1)oninput事件:a). 当脚本中改变value时,不会触发;b). 从浏览器的自动下拉提示中选取时,不会触发。
(2)onpropertychange事件:当input设置为disable=true后,onpropertychange不会触发。
可以通过写定时器解决问题
在IE中的效果:
在FireFox中的效果:
另外,我还在google Chrome测试也成功了(跟fireFox一样的)。
&&&&&&&& &tr&
&&&&&&&&&&&&&&&&&&&& &td&此处值通过js设置:&/td&
&&&&&&&&&&&&&&&&&&&&&td&&input
id=&jsUserName&
type=&text&
name=&jsUserName& readonly/&&/td&
&&&&&&&&&&&&&/tr&
&&&&&&&&&&&&&tr&
&&&&&&&&&&&&&&&&&&&&&&&&&td&此处输入值:&/td&
&&&&&&&&&&&&&&&&&&&&&&&& &td&&input
id=&userName&
type=&text&
name=&userName&/&&/td&
&&&&&&&&&&&& &/tr&
Javascript代码
$(function()
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&var jsUserName = &&;
&&&&&&&&&&&&&&&&&&&&&&&&if($.browser.msie)&&&&&&&&// IE浏览器
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#userName&).get(0).onpropertychange = setJsUserN
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#jsUserName&).get(0).onpropertychange =
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&// 其他浏览器
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&var intervalN&&&&&&&&// 定时器句柄
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#userName&).get(0).addEventListener(&input&,setJsUserName,false);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 获得焦点时,启动定时器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#userName&).focus(function(){
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&intervalName = setInterval(handle,1000);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 失去焦点时,清除定时器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#userName&).blur(function()
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&clearInterval(intervalName);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&});
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&// 设置jsUserName input的值
&&&&&&&&&&&&&&&&&&&&&&&&function setJsUserName()
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#jsUserName&).val($(this).val());
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&// jsUserName input的值改变时执行的函数
&&&&&&&&&&&&&&&&&&&&&&&&function handle()
&&&&&&&&&&&&&&&&&&&&&&&&{&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// IE浏览器此处判断没什么意义,但为了统一,且提取公共代码而这样处理。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if($(&#jsUserName&).val() != jsUserName)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#toolTip&).remove();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$(&#jsUserName&).parent().append(&&span id='toolTip'&看到这里的信息表明,通过js改变input的值也能响应相应事件:&span&&&&style='color:'&& + $(&#jsUserName&).val()
+ &&/span&&/span&&);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&jsUserName = $(&#jsUserName&).val();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&}
说明:为了方便,js代码使用了jQuery。不使用是一样的。
另外,考虑性能问题,可以考虑何时启动定时器和清除定时器以及定时器延时时间。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:14405次
排名:千里之外
原创:21篇
转载:61篇
(2)(1)(2)(1)(2)(7)(5)(1)(2)(1)(1)(1)(1)(1)(3)(7)(2)(2)(7)(15)(4)(3)(1)(2)(11)

我要回帖

更多关于 chrome input 边框 的文章

 

随机推荐