鼠标移动到图像上时不会触发jQuery mouseup

时间:2012-12-23 03:51:03

标签: jquery mouseup

当您在图像上mousedown时,稍微移动鼠标(mousemove),然后释放(mouseup),mouseup不会被jQuery触发。< / p>

jsfiddle:http://jsfiddle.net/kVFTZ/

这是为什么?如何在移动图像时使其工作?

2 个答案:

答案 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
}

更新小提琴:http://jsfiddle.net/kVFTZ/4/