文本框是服务器控件里面有个onpropertychange事件 文本内容发生改变的时候在onpropertychange的方法里面执行很多次,  怎么控制值文本发生改变才触发方法onpropertychange

解决方案 »

  1.   

    即使是服务器控件,显示出来也就是HTML控件。所以LZ可以通过JS绑定事件
    $("#txt").bind("change", function() {
        // 文本改变时触发
    });
      

  2.   

     怎么控制onpropertychange 是文本改变才触发
      

  3.   

    可以试试这样,
    $('#txt').on('propertychange', function(){
        if(!window.done){
            return false;
        }
        window.done = false;
        // your logic here
        window.done = true;
    });
    不过只有IE支持propertychange,而且propertychange触发可能会有点问题。建议也可以考虑其他浏览器及IE9支持的input事件。
      

  4.   

    同意LS说的,如果需要考虑浏览器兼容性,LZ建议使用change事件,该事件可以满足LZ的需求
      

  5.   

    onpropertychange 是什么东东来的。
      

  6.   

    $('#txt').off().on('propertychange input'), function(){});
    firefox 得用input,off()卸载其它事件。
      

  7.   


    document.getElementById("txt").attachEvent("onpropertychange", function(){
                if(arguments[0].propertyName!='value'){
                     return false;
                 }
    }, false)onpropertychange在其他属性比如宽度长度改变时也会触发