function(id, oldval, newval) 有什么用?
{
foochange(newval);
return newval;
}
this.setAttribute('oninput', '(' + foochange.toString() + ')(this.value)'); 何意http://www.jslab.org.cn/?tag=easyChange打不开
var easychange = function(foochange)
{
if( ! foochange || foochange.constructor != Function)
{
return;
}
try
{
this.watch("value", function(id, oldval, newval) //
{
foochange(newval); //
return newval; ///
}
);
}
catch(e)
{
}
this.setAttribute('oninput', '(' + foochange.toString() + ')(this.value)');
this.onpropertychange = function()
{
foochange(this.value);
}
;
this.onmousemove = function()
{
foochange(this.value);
}
;
this.onkeyup = function()
{
foochange(this.value);
}
;}
{
foochange(newval);
return newval;
}
this.setAttribute('oninput', '(' + foochange.toString() + ')(this.value)'); 何意http://www.jslab.org.cn/?tag=easyChange打不开
var easychange = function(foochange)
{
if( ! foochange || foochange.constructor != Function)
{
return;
}
try
{
this.watch("value", function(id, oldval, newval) //
{
foochange(newval); //
return newval; ///
}
);
}
catch(e)
{
}
this.setAttribute('oninput', '(' + foochange.toString() + ')(this.value)');
this.onpropertychange = function()
{
foochange(this.value);
}
;
this.onmousemove = function()
{
foochange(this.value);
}
;
this.onkeyup = function()
{
foochange(this.value);
}
;}
/* watch是Mozilla浏览器私有方法,用于捕获对象属性的改变 它有2个形参,property,callback(objectID,oldValue,newValue)
*/
this.watch("value", function(id, oldval, newval)
{
foochange(newval);/* 执行指定的方法foochange,将newValue传递进去 */
return newval; /* watch方法要求有一个return值,否则被监听的property值会返回undefined */
}
if (!foochange || foochange.constructor != Function)
/////
if (typeof fochange != "function") return;
<h1>兼容处理input控件值改变事件</h1>
<dl>
<dt>兼容处理:</dt>
<dd>手动输入事件捕获:手动输入内容时会触发</dd>
<dd>复制粘贴事件捕获:复制粘贴内容时会触发</dd>
<dd>程序设置事件捕获:javascript程序动态设置内容时会触发</dd>
<dd>拖入事件捕获:选定内容拖入时会触发</dd>
</dl>
<input type="text" id="x">
<label id="lbl">label</label>
<button>设置input值</button>
<script type="text/javascript">
var dlbl = document.getElementById('lbl'),dbtn = document.getElementsByTagName('button')[0];var setLabel = function(svalue){dlbl.innerHTML = svalue;};var easychange = function(foochange){
if(!foochange||foochange.constructor!=Function){return;}
try{this.watch("value",function(id,oldval,newval){foochange(newval);return newval;});}catch(e){}
this.setAttribute('oninput','('+foochange.toString()+')(this.value)');
this.onpropertychange = function(){foochange(this.value);};
this.onmouseover = function(){foochange(this.value);};
this.onkeyup = function(){foochange(this.value);};
};var dx = document.getElementById('x');
easychange.call(dx,setLabel);
dx.value = 'hello';
dbtn.onclick = function(){dx.value = 'btn set ...';};
</script>
{
foochange(newval);
return newval;
} 这三个参数是不是有的是废的