Как я могу сделать с jQuery, чтобы событие mousemove было активным, только если нажата левая кнопка мыши, и как только кнопка отпускается, событие mousemove останавливается?jQuery: вопрос о событиях
ответ
Простым способом является сохранение флага, для которого установлено значение true, только когда нажата левая кнопка. Это означает, что вы должны установить значение true, когда нажата левая кнопка мыши, и при сбросе установите значение false. Затем вы действуете на mousemove только в том случае, если этот флаг является истинным.
Это не специфическое решение jQuery, а общий шаблон для таких проблем, поэтому jQuery может обеспечить более приятное решение.
Возможно, вам придется позаботиться о специальных случаях, таких как потеря фокуса ввода или курсор мыши, выходящий за пределы этого div, в то время как левая кнопка удерживается нажатой.
Здесь я связываю событие mousemove
на mousedown и отвязываю его на mouseup
. Я использовал классную функцию в jQuery, поэтому в этот селектор добавляются другие события mousemove, но удаляется только тот, который вы хотите отменить. Их называют Namespaced Events.
$("#yourdivid").mousedown(function(e){
if(e.which == 1){
$(this).bind('mousemove.coolnamespace', function(e){
// Your mousemove event
});
}
}).mouseup(function(e){
if(e.which == 1) $(this).unbind('mousemove.coolnamespace');
})
Edit: Я обновил свой ответ, чтобы использовать нормированное поле which
. jQuery нормализует это как 1 = Влево, 2 = Средний, 3 = Вправо. Значение button
будет отличаться в зависимости от браузера.
Вы связываете событие mousedown и вызываете mousemove внутри этой функции и используете событие jQuery unbind, чтобы избавиться от mousemove;
var $button = $("ELEMENT HERE");
$button.mousedown(function(){
$(this).mousemove(function(){
//Events here
});
}).mouseup(function(){
$(this).unbind("mousemove");
});
- 1. Вопрос о настраиваемых событиях
- 2. Вопрос о событиях Windows
- 3. Вопрос о событиях Mootools
- 4. C# Вопрос о событиях
- 5. Вопрос о событиях в vb.net
- 6. Вопрос проектирования о событиях буфера протокола
- 7. Уведомления о событиях Docusign
- 8. Это опасно? О событиях
- 9. JQuery: добавление данных о событиях в список
- 10. Вопрос о кодировании JQuery?
- 11. Вопрос о вызове JQuery
- 12. Вопрос о jQuery Selectors
- 13. JQuery вопрос о «этом»
- 14. Вопрос о выпуске JQuery?
- 15. вопрос о перетаскивании jquery
- 16. Вопрос о выборе JQuery?
- 17. Вопрос о заказе JQuery
- 18. Вопрос о событиях в Джона Скита книга C# в Глубина
- 19. Немного помогите разобраться в событиях (вопрос о нобе)
- 20. Вопрос о событиях и пользовательских средствах управления сервером
- 21. вопрос с отправкой данных о событиях с щелчком по socket.io
- 22. О событиях javascript
- 23. О событиях кликов
- 24. Закрыть Colorbox о событиях
- 25. О global.asax и событиях
- 26. О событиях? Выключи?
- 27. Wordpress Сообщения о событиях
- 28. C# - Соображения о событиях
- 29. Классификация данных о событиях
- 30. селектор документа о нескольких событиях
Просто связываться с '' mousemove' на mousedown' и отвязать на 'mouseup'. –