ie窗口被拖动的时候有可以监控的事件吗

今天在一个群里,有人问这个问题,记得在DHTML参考手册里看到过window的onmove方法,立刻拿个页面放了进去:
    window.onmove = function() {alert('asdf");}
结果没有反应,翻权威,结果:
    Netscape 4;Unix平台上的Netscape 4不支持它,在移动窗口时调用的事件处理程序……

考虑到窗口移动后,相对屏幕左上的位置发生改变,于是可以通过一个函数来监控窗口相对于屏幕左上的值的变化来确定,于是有了下边的
var x=window.screenLeft;
var y=window.screenTop;
//alert(x+"/n"+y);
function aaa(){
    if((window.screenLeft!=x) || (window.screenTop!=y)){
        alert("move");
        x=window.screenleft;
        y=window.screenTop;
    }
}
window.setInterval("aaa()",100);


拿到FF中测试,不通,做以下修改:
 var x=window.screenLeft || window.screenX;
 var y=window.screenTop || window.screenY;
 alert (x+"/n"+y);
 function aaa(){
  if(((window.screenLeft || window.screenX)!=x) || ((window.screenTop || window.screenY)!=y)){
   alert("move");
   x=window.screenLeft || window.screenX;
   y=window.screenTop || window.screenY;
  }
 }
 window.setInterval("aaa()",300);


//备注1:window.screenX和window.screenLeft位置互换,在Opera中不正常;
//备注2:窗口最小化也会执行事件;
//备注3:程序可能耗资源,每0.3秒执行一次函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值