一般都是做完处理后再进行相关操作,jquery的live效率不行,少用为好

解决方案 »

  1.   

    哦,我只是想用最小的代价,把以前htc 改成 没有htc架构的,live至少可以让我不用修改调用端的代码。我现在急于找到,addClass(或者obj.className="XXX")后可以自动触发的事件,否则我可能要整个项目搜索关键字,然后每处都要修改代码。如果有此类事件,我只要重写几个HTC 改成标准JS 就可以了。
    谢谢你的建议,以后新的项目,我会注意不用或少用 live 的
      

  2.   

    这样么?$("#submit_new_post_form").addClass("red").click();
      

  3.   

    不是这个意思,因为以前一直习惯使用htc, 这样在样式表里写behivior :url(xxx.htc) ,之后只要是页面任何元素绑定该class(无论是初始状态下,还是 addClass 或是 className="XX") 都会触发htc文件里的oncontentready。
    现在微软宣布以后不支持htc结构了(我总不能阻止客户升级IE到10吧),导致我现在要把以前的项目里的htc格式全改掉,为了找寻损失最小的解决方案,目前我的设想是,调用端不动(调用端大多都是 addclass 或className="" 之类的),只改掉几个HTC文件,所以才发帖询问的。
    总之就是,addClass("XXX") 或是 className="XXX" 之后,自从触发一个初始化事件
    PS:你的方法和我前面说的类似(添加class 后手工再加一条转到初始化的方法),依然要,全项目范围搜索关键字,然后一处一处的修改。
      

  4.   

    IE有个onpropertychange事件,不知道高版本的IE是否支持。。楼主可以测试下,只要是任何属性更改都会触发
    <div id="dv" onpropertychange="alert('属性更改了')"></div>
    <script>
        window.onload = function () {
            document.getElementById('dv').className = 'abc'
            document.getElementById('dv').innerHTML = 'abc'
            document.getElementById('dv').setAttribute('chr', 1);
        }
    </script>