如有TextBox
<input name="txtColorFirst" type="text" id="txtColorFirst" class="txtChn" onchange="alert('我并改变了')" />但是我通过用js的方法
$("#txtColorFirst").attr("value","red");
------------------------
以上方法的时候,内容改变了,但是他并没有执行onchange
然后工查看了文档说
onchange是在鼠标离开后才执行的,也相当于blur后那我想要我的txtColorFirst的内容不算是人为的还是js对他进行更改的时候都触发的事件是什么谢谢

解决方案 »

  1.   

    那你用 onPropertychange事件就可以了
      

  2.   

    <input name="txtColorFirst" type="text" id="txtColorFirst" class="txtChn" onPropertychange="alert('我并改变了')" /> 其实我是来蹭分的.
      

  3.   

    onPropertychange is ie only onkeyup
      

  4.   

    onkeyup满足不了LZ说的.要是不是IE
    就用
    b="";
    setInterval("a=txtColorFirst;if(a.value!=b)alert('change');b=a.value;",1);
    来做吧...
      

  5.   

    RE:
    要是不是IE 
    就用 
    b=""; 
    setInterval("a=txtColorFirst;if(a.value!=b)alert('change');b=a.value;",1); 
    来做吧...
    ----------------------
    这样不太好吧.. 要是我一个页面有几十个这样的不就挂了
    onPropertychange is ie only 
    ---------------------------------------
    能不能把这个onPropertychange事件添加到FireFox的事件中呢
    谢谢
      

  6.   

    集中到一个方法里.设一个定时任务吧...firefox没对应的感应属性改变的事件.输入的就有.
    3.5会加对onPropertychange的支持.但暂时BETA里测试的会死机.
      

  7.   

    在网上找到了FireFox的方法
    oninput 
    但这个只能检测到键盘输入,而通过JS赋值的时候还是没有办法谢谢
      

  8.   

    手动触发一下事件 $("#txtColorFirst").change()
      

  9.   

    firefox没对应的感应属性改变的事件.输入的就有. 
    3.5会加对onPropertychange的支持.但暂时BETA里测试的会死机.其实页面是你的.按hookee的不就好了.
      

  10.   

    兼容Firefox和IE的onpropertychange事件oninput
    在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变。
    onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件。示例代码参考
    脚本之家(www.jb51.net):http://www.jb51.net/article/14654.htm
      

  11.   

    oninput 对JS改变控件属性无效...
      

  12.   

    大家可以看我的新贴:
    http://topic.csdn.net/u/20090512/09/89a02f56-36ec-4496-b8f5-49741d197c6d.html
    为什么在新打开的窗口不能去执行父窗口的TextBox的onchange()事件,谢谢