首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

相关拖动效果

2012-10-09 
有关拖动效果比如说页面上的一个块,你想拖动它,一般就会给它上onmousedown和onmouseup事件,当然,onmousedo

有关拖动效果
比如说页面上的一个块,你想拖动它,一般就会给它上onmousedown和onmouseup事件,
当然,onmousedown为触发, onmouseup为事件结束, 可是实际中你如果这样给块增加事件,
你就会发现这时候,onmouseup事件不感应,情况是这样的,你拉动太快了,鼠标这时可能没在
块上了,怎么办呢,  我们做页面不能做概率事件吧, 这时候setCapture方法就开始派上用场了.
onmouse事件的原主人为html,setCapture的作用就是让块临时为onmouse事件的主人,使用为
var obj=document.getElementById(‘块ID’);
obj.setCapture();
这时你给它上的鼠标事件就会统统让块管理了,onmouseup结束事件就100%感应了,
当然, 东西只是临时借用的,用完就得归还,所以有onmouseup事件里得使用releaseCapture 方法来释放权限,也就是
obj.releaseCapture();
希望大家可以用得上它们哥俩:setCapture和releaseCapture
removeAllRanges在Dom中的作用是,可以清空或者放弃你在网页中选取的文字,你可使用removeAllRanges()方法阻止用户在网页中选取内容.该方法常被人使用到拖动的效果中.removeAllRanges必须在getSelection()方法中调用.removeAllRanges不支持IE浏览器,在IE中实现同样效果的方法是selection.empty();
语法:
window.getSelection().removeAllRanges();
返回值:
[tag:return_value /]
参数
window:直接使用window对象调用.
getSelection:获取被选取的文字
请要会用到以下:
if(h.setCapture) {
h.setCapture();
}
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else {
document.selection.empty();
}
if(h.releaseCapture) {
h.releaseCapture();
}

热点排行