跟踪input值改变的兼容处理 本帖最后由 dh20156 于 2010-01-07 10:08:42 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 演示地址:http://www.jslab.org.cn/?tag=easyChange 我愣是没看明白, try{this.watch("value",function(id,oldval,newval){foochange(newval);return newval;});}catch(e){}这个this.watch是干嘛的 貌似这样调用很危险var dx = document.getElementById('x');easychange.call(dx,(function(){return function(newvalue){dx.value="xxxx"+dx.value}})(dx)); 或者easychange.call(o,(function(){return function(newvalue){o.value="name:"+newvalue}})(o)); Mozilla浏览器捕获Object Property Change的方法,此方法可处理FF等浏览器的脚本设置值的捕获。 暂时木有,只有一些感觉或想法,觉得编写 js 应该加入更多的设计,具体说就是应该使用 OO 中的工厂模式,在其中集中能遇见的各种浏览器类型,从而得到相应的 BOM 实例。换言之,以斑竹的代码为例,假设仅考虑 IE 和 FF 两种浏览器的情况下,代码至少应该分为两个方法,TraceInputValueChangeForIE 和 TraceInputValueChangeForFF,在不同浏览器下会自动调用相应的方法。当增加新浏览器 NewBrowser 时,只需增加 TraceInputValueChangeForNB 等一套 Function 即可!这样即可以方便不同浏览器下独立调试,又方便扩展!由于浏览器是对象,因此分要比合方便得多!以上思路仅供参考! ding qi ding qi 有没有人有一些WEBKIT引擎的开发参考资料呢? 这个问题我也碰到过,记得也是Safari没有搞定。 this.textarea_editor.onpropertychange = function() { self.digitalCard.setDigital(self.maxLength - this.value.length); } if (typeof this.textarea_editor.addEventListener == "function") { this.textarea_editor.addEventListener("keypress", this.textarea_editor.onpropertychange, false); this.textarea_editor.addEventListener("keyup", this.textarea_editor.onpropertychange, false); this.textarea_editor.addEventListener("input", this.textarea_editor.onpropertychange, false); } 不太建议监听onmousemove,这个触发会很频繁 恩,是的,改成onmouseover吧。 关于增加 事件处理函数的问题 怎么多了个<TBODY> 博文视点JavaScript图书推荐 很简单?提示我image1Id未定义? 求复制TABLE某列的方法 图形界面生成SQL语句 这个正则是什么意思 特别是前后两个?号 请问有谁知道打开缓存文件,看JavaScript吗???? JavaScript的一些小问题! 单选框的问题 请指教.onclick 在火狐下无反应 请教个简单的层显示问题
try{this.watch("value",function(id,oldval,newval){foochange(newval);return newval;});}catch(e){}这个this.watch是干嘛的
var dx = document.getElementById('x');easychange.call(dx,(function(){return function(newvalue){dx.value="xxxx"+dx.value}})(dx));
Mozilla浏览器捕获Object Property Change的方法,此方法可处理FF等浏览器的脚本设置值的捕获。
具体说就是应该使用 OO 中的工厂模式,
在其中集中能遇见的各种浏览器类型,从而得到相应的 BOM 实例。换言之,以斑竹的代码为例,假设仅考虑 IE 和 FF 两种浏览器的情况下,
代码至少应该分为两个方法,TraceInputValueChangeForIE 和 TraceInputValueChangeForFF,
在不同浏览器下会自动调用相应的方法。当增加新浏览器 NewBrowser 时,只需增加 TraceInputValueChangeForNB 等一套 Function 即可!这样即可以方便不同浏览器下独立调试,又方便扩展!由于浏览器是对象,因此分要比合方便得多!以上思路仅供参考!
this.textarea_editor.onpropertychange = function() {
self.digitalCard.setDigital(self.maxLength - this.value.length);
} if (typeof this.textarea_editor.addEventListener == "function") {
this.textarea_editor.addEventListener("keypress", this.textarea_editor.onpropertychange, false);
this.textarea_editor.addEventListener("keyup", this.textarea_editor.onpropertychange, false);
this.textarea_editor.addEventListener("input", this.textarea_editor.onpropertychange, false);
}