ie里的元素都有一个onresize事件可以监控对象大小的变化,如div元素,但firefox里是不支持的,有没有其他替代方案可以实现监控元素大小的变化

解决方案 »

  1.   


    var resizeTimer = null;
    function resizeFrame(){
      if(resizeTimer != null) clearTimeout(resizeTimer);
      resizeTimer = setTimeout('resizeFrame()',10)
    }
    function _attachEvent(obj, evt, func, eventobj) {
      eventobj = !eventobj ? obj : eventobj;
      if(obj.addEventListener) {
        obj.addEventListener(evt, func, false);
      } 
      else if(eventobj.attachEvent) {
       obj.attachEvent('on' + evt, func);
      }
    }
    _attachEvent(window, 'resize', resizeFrame,document);
      

  2.   

    找到一篇文章,不知可行否
    http://hi.baidu.com/mebeta/blog/item/4418b56042cf11d48db10df9.html
      

  3.   

    那你还是用onchage事件判断下大小宽度的变化
      

  4.   

    使用timer是最后的选择,希望有其他的办法
      

  5.   

    大小变化好像不会触发onchange吧
      

  6.   

     监听onmousedown与mousemove进行判断,不过这样好像没有目标,最好的方式是在需要监听的元素上绑定事件比较合适一点。写一个类,丢进去一个对象,剩下的事情就不用操心了, 这个去实现监听以及回调