WEB开发网
开发学院网页设计JavaScript JavaScript 拖放效果 —— 小拖放也有大智慧 阅读

JavaScript 拖放效果 —— 小拖放也有大智慧

 2010-09-14 13:25:12 来源:WEB开发网   
核心提示: 不过ff里貌似会自动设置取消鼠标捕获,但具体的情形就不清楚了,JavaScript 拖放效果 —— 小拖放也有大智慧(6),找不到一个比较详细的介绍,谁有这方面的资料记得告诉我啊,但如果浏览器窗口的焦点丢失就会导致捕获失效,我暂时测试到会导致焦点丢失的操作包括切换窗口(包括alt+tab)

不过ff里貌似会自动设置取消鼠标捕获,但具体的情形就不清楚了,找不到一个比较详细的介绍,谁有这方面的资料记得告诉我啊。

下面都是我的猜测,ff的鼠标捕获相当于能自动设置和释放的document.body.setCapture(false)。

因为我测试下面的程序,发现ie和ff效果是差不多的:

ie:

Code

<html>
<body>
<divid="aa"onmouseover="alert(1)"></div>
<script>
document.body.onmousedown=function(){this.setCapture(false)}
document.body.onmouseup=function(){this.releaseCapture()}
document.onmousemove=function(){aa.innerHTML+=1}
</script>
</body>
</html>

ff:

Code

<html>
<body>
<divid="aa"onmouseover="alert(1)"></div>
<script>
document.onmousemove=function(){aa.innerHTML+=1}
</script>
</body>
</html>

可惜没有权威的资料参考就只能猜猜了,还有很多还没有理解的地方以后再研究拉。

注意ff2下的鼠标捕获有一个bug,当拖放对象内部没有文本内容并拖放到浏览器外时捕获就会失效。

给拖放对象插入一个空文本,例如<font size='1px'> </font>就可以解决,不过这个bug在ff3已经修正了。

【焦点丢失】

一般情况下,鼠标捕获都能正常捕获事件,但如果浏览器窗口的焦点丢失就会导致捕获失效。

我暂时测试到会导致焦点丢失的操作包括切换窗口(包括alt+tab),alert和popup等弹出窗体。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 效果 智慧

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接