jQuery mouseup не запускается при наведении мыши на изображение

Когда ты mousedown на изображении, переместите мышь (mousemove) немного, а затем отпустите (mouseup), mouseup не запускается с JQuery.

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

Почему это? Как я могу заставить его работать при перемещении по изображению?

2 ответа

Решение

Ну, я обнаружил, что 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/

Достаточно легко исправить. добавлять event.preventDefault(); к вашей функции mousedown.

Пример jsFiddle

$(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');
});

Другие вопросы по тегам