今天在一个群里,有人问这个问题,记得在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秒执行一次函数
ie窗口被拖动的时候有可以监控的事件吗
最新推荐文章于 2023-06-23 20:38:43 发布