Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Заблокирован

Не сбрасывается событие

25.07.2019, 05:24. Показов 725. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$.each($('.listtr') ,function(index,value){
                                                
    $('.fa-braille', value).on('mousedown', function() {
 
                                    
         $('.content_main',0).bind('mousemove', function(event) {
                        
          console.log('dd');                    
                              
                                            
         });
                                                             
    }).on('mouseup', function() {
                $('.fa-braille', value).unbind('mousemove');
       });  
});
Сперва определяю, что клик по элементу есть и левая кнопка мыши зажата. Далее узнаю что курсор перемещается. Вопрос в том, как сбросить событие mousemove?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2019, 05:24
Ответы с готовыми решениями:

JavaScript сбрасывается функция
Доброго времени суток! При выполнении любой функции к примеру: когда меняем placeholder на то что ввели с клавиатуры через prompt, то...

Таймер сбрасывается после обновления страницы
Необходимо, чтобы при перезагрузке страницы таймер нахождения на странице продолжал отсчет. Знаю, что можно как-то сделать это с помощью...

MaskedTextBox1 событие по системным часам - что должно вызывать это событие?
Добрый день! Помогите разобраться с ситуацией пожалуйста. На форме висит элемент maskedTextBox с маской DateTime. (00:00) Задача, чтобы он...

1
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
25.07.2019, 15:08
Здравствуйте.
Насколько понимаю, надо наматывать вывод в консоль только в пределах единственного элемента:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
    </script>
</head>
<body>
    <div class="listtr">
        <p class="fa-braille" id="n1">образец
            <span class="content_main" style="color:red">главный текст</span>
            текста</p>
        <p class="fa-braille" id="n2">второй
            <span class="content_main" style="color:red">главный текст</span>
            образец</p>
    </div>
    <script>
        function onMouseMove(event) {
            console.log('dd');
 
        }
        $.each($('.listtr'), function (index, value) {
            $('.fa-braille', value).on('mousedown', function () {
                $('.content_main', this).bind('mousemove', onMouseMove);
            }).on('mouseup', function () {
                $('.content_main', this).unbind('mousemove');
            });
        });
    </script>
</body>
</html>
Добавлено через 3 часа 46 минут
Gerd199, тут непонятно, что делать, когда нажатая мышь покидает пределы элемента.
Пока сделал вариант, что тоже отвязывает события перемещения мыши.
А если обратно вернулся с нажатой мышью, что делать?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
    </script>
</head>
<body>
    <div class="listtr">
        <p class="fa-braille" id="n1">образец
            <span class="content_main" style="color:red">главный текст</span>
            текста</p>
        <p class="fa-braille" id="n2">второй
            <span class="content_main" style="color:red">главный текст</span>
            образец</p>
    </div>
    <script>
        function onMouseMove(event) {
            console.log('dd');
        }
        if (1 === 1) { // Способ с jQuery
            $.each($('.listtr'), function (index, value) {
                $('.fa-braille', value).on('mousedown', function () {
                    $('.content_main', this).bind('mousemove', onMouseMove);
                })
                // Когда нажатая мышь покидает элемент, тоже отвязать обработчик события! 
                .on('mouseup mouseleave', function () {
                    $('.content_main', this).unbind('mousemove');
                });
            });
        }
        else { // Способ в современном JavaScript (ES2019)
            for (let el of document.querySelectorAll('.listtr .fa-braille')) {
                el.onmousedown = () => {
                    el.querySelector('.content_main').onmousemove = onMouseMove;
                };
                // Когда нажатая мышь покидает элемент, тоже отвязать обработчик события! 
                el.onmouseup = el.onmouseleave = () => { 
                    el.querySelector('.content_main').onmousemove = undefined;
                };
            }
        }
    </script>
</body>
</html>
Имхо, бесконечно привязывать/отвязывать события - тоже не самый красивый вариант.

Имеет смысл обдумать вариант постоянно навешенного события на '.content_main', которое проверяет, нажата ли в данный момент кнопка мыши.
А это другой алгоритм, не похожий на изначальный.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2019, 15:08
Помогаю со студенческими работами здесь

Событие выбора строки при выборе мышкой событие обрабатывается два раза
Есть JTable, обрабатываю событие выбора строки след. образом: ListSelectionModel r = jTable1.getSelectionModel(); ...

Сбрасывается авторизация
Здравствуйте, подскажите пожалуйста как исправить ситуацию? Сайт тестовый, захожу только я. В настройках выставлено следующее. ...

Сбрасывается роутинг
Сделал роутинг по принципу site.ru/page при помощи .htaccess: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond...

Сбрасывается Iptables
Всем привет. Имеется CentOS 6 с установленным OpenVPN сервером. Примерно полтора месяца отлично все работало, сегодня начались танцы с...

Сбрасывается настройка
Всем привет! Проблема такого плана - года 2 назад отключил бесящий звук включения/выключения телевизора. Не столь давно при невыясненных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru