#javascript #jquery
Вот мой пример, как отменить mouseover если кнопку мыши отпустили?
var mouseOverEventListener;
$('#pixel_canvas').mousedown(function () {
mouseOverEventListener = $('#pixel_canvas').on('mouseover', 'td', function () {
$( this ).css('background-color', 'red');
});
});
$('#pixel_canvas').mouseup(function () {
$('#pixel_canvas').off('mouseover', mouseOverEventListener)
});
tr {
height: 15px;
}
td {
width: 15px;
}
tr:nth-child(odd) td:nth-child(odd),
tr:nth-child(even) td:nth-child(even) {
background-color: #eaeaea;
}
Ответы
Ответ 1
"Event preventDefault" - Метод объекта позволяет предотвратить выполнение стандартного действия. Mousedown - Событие срабатывает, когда кнопка нажата над элементом. Mouseup - Событие срабатывает, когда кнопка мыши отпущена над элементом. Mouseover - Событие срабатывает, когда мышь появилась над элементом. Off - Удаляет обработчики событий, назначенные методом ".on" $('#pixel_canvas').mousedown( function(e) { e.preventDefault(); $('#pixel_canvas').on('mouseover', 'td', function () { $( this ).css('background-color', 'red'); }); }).mouseup(function(){ $('#pixel_canvas').off('mouseover' ) }); tr { height: 15px; } td { width: 15px; } tr:nth-child(odd) td:nth-child(odd), tr:nth-child(even) td:nth-child(even) { background-color: #eaeaea; }
Ответ 2
Вам надо сделать, что то вроде `$('#pixel_canvas').mousedown(function () { $('#pixel_canvas').on('mouseover', 'td', function () { $( this ).css('background-color', 'red'); }); }); $('#pixel_canvas').mouseup(function () { // код } ` И в mouseup уже реализовать логику удаление эвента методом .off() https://api.jquery.com/off/
Ответ 3
Используйте .off метод jquery для отключения слушателя от события: var mouseOverEventListener; $('#pixel_canvas').mousedown(function () { mouseOverEventListener = $('#pixel_canvas').on('mouseover', 'td', function () { $( this ).css('background-color', 'red'); }); }); $('#pixel_canvas').mouseup(function () { $('#pixel_canvas').off('mouseover', mouseOverEventListener) }
Комментариев нет:
Отправить комментарий