【发布时间】:2012-03-09 01:29:03
【问题描述】:
我正在构建一个拖放方法,使用查询 -onmousedown 导致 -onmousemove (drag) 然后 -onmouseup (unbinds onmousemove)
问题是,浏览器默认开始突出显示 onmousemove,它飞过整个页面并取消事件,使其无法使用。任何想法如何防止突出显示,因为 preventDefault 似乎不起作用。这是我的代码(是的,它非常草率,抱歉!)
$(".middleRow").mousedown(function(){
calculateSelection();
$('body').append('<div class="messageDrag" style="display:block">'+numSelected+'<div style="font-size: 18px">messages</div></div>');
$(document).mouseup(function(){
$('.messageDrag').fadeOut(500);
setTimeout(function(){
$('.messageDrag').remove();
}, 500);
$(document).unbind();
})
$(document).mousemove(function(e){
e.preventDefault();
var x = e.pageX;
var y = e.pageY;
$(".messageDrag").css("left", x-49);
$(".messageDrag").css("top", y-49);
});
});
【问题讨论】:
标签: javascript jquery events drag-and-drop