当您在图像上mousedown
时,稍微移动鼠标(mousemove
),然后释放(mouseup
),mouseup
不会被jQuery触发。< / p>
jsfiddle:http://jsfiddle.net/kVFTZ/
这是为什么?如何在移动图像时使其工作?
答案 0 :(得分:4)
很容易修复。将event.preventDefault();
添加到您的mousedown功能。
<强> jsFiddle example 强>
$(document).on('mousedown', function(event) {
event.preventDefault();
$('#info').text('Now move the mouse and then release');
$('#log').text('mouse down fired');
}).on('mouseup', function() {
$('#log').text('mouse up fired');
});
答案 1 :(得分:0)
好吧,我发现return false
可以更恰当地解决问题。
只要调用e.preventDefault()
,也会阻止文本选择(可能还有其他一些操作),并且无法撤消。
我仅在return false
图片上添加了mousedown
if(e.target.tagName.toLowerCase() == 'img') {
return false;
// e.preventDefault() also does the job
// but it prevents all default action
// and can not be undone
}