|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|||||||||||
Поддерживать нажатое состояние кнопки/клавиши. Как это сделать?31.01.2016, 12:50. Показов 1320. Ответов 8
Метки нет (Все метки)
Нужно сделать так, чтобы по нажатию на элемент сработало событие mousedown, а mouseup было проигнорировано!
Принцип действия: 1) Нажатие на ЭЛЕМЕНТ -> сдвиг вниз (см. <style> ); 2) Нажатие вне элемента -> возвращение в исходное состояние; ПРИМЕР:
Хотя тут работает: http://www.w3schools.com/jsref... html_click Есть ли что-то вроде: el.mousedown()? Использование mouseup.preventDefault() не помогло решить задачу. Если программно сгенерировать событие mousedown (типа new Event ...), то кнопка визуально не нажмется, верно? Объясните, пожалуйста, можно ли зафиксировать кнопку в нажатом состоянии, работая лишь с событиями мыши. И просьба, если не знаете, не говорите, что это невозможно. ) Спасибо. Добавлено через 18 минут Вот еще по отмене mouseup, если я не ошибаюсь: http://stackoverflow.com/quest... nt-handler Добавлено через 17 часов 17 минут 31.01.2016 Добавлено через 3 часа 58 минут Ни ответа ни привета!
0
|
|||||||||||
| 31.01.2016, 12:50 | |
|
Ответы с готовыми решениями:
8
Оставить нажатое состояние кнопки при клике Как сделать подсветку текста, и привязки кнопки к определенный клавиши клавиатуры? Скоро только Windows 10 будет поддерживать новое железо, это как? |
|
|
||||||
| 31.01.2016, 16:14 | ||||||
|
Можно ещё так попробовать (не факт, что сработает для кнопки):
0
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 31.01.2016, 19:03 [ТС] | |
|
В jQuery я вообще не работал. Мне нужно отключить mouseup только лишь для того, чтобы облегчить выделение текста. Скажем есть contenteditable div. Я делаю клик в начале выделения и в конце. И всё - и не надо удерживать кнопку мыши. Просто нажал левую кнопку мыши (ЛКМ) и отпустил, далее - отводя мышь я буду видеть как увеличивается синяя область выделения текста. Затем второй клик и текст выделен.
Считаю что это будет очень удобно в тех случаях когда вам нужно выделить большой фрагмент текста в огромной статье скажем. Просто не удобно одновременно удерживать ЛКМ да еще скролить! Нужно видеть что выделяешь, а именно видеть как синяя область выделения движется за курсором после первого клика, начавшего его Вот и все, что мне нужно. И никто не может дать внятного ответа. Можно ли временно отключить событие mouseup после первого клика, чтобы без удержания ЛКМ, выделить текст. Второй клик, завершающий выделение, отключит функцию блокировки mouseup. Вот и всё! Я уже незнаю как объяснить, чтобы было понятно. Вооот! Такие дела ...)))
0
|
|
|
|
|
| 31.01.2016, 19:18 | |
|
Хм... Так Вам нужно не обработчик подавлять, а событие. Либо, как вариант имитировать событие mousedown по mouseup. А как это сделать нужно подумать. Сейчас не могу - через 15 минут еду в аэропорт, а от туда... на Камчатку. Так что если никто не успеет вам ответить, то попробую Вам помочь... не раньше 2-го числа.
0
|
|
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 31.01.2016, 19:40 [ТС] | |
|
YakobsEA, именно. Я не против подождать. Буду продолжать поиски. А вам удачи на Камчатке. )))
Итак, дорогие форумчане, продолжаем дискуссию...
0
|
|
|
|
|
| 02.02.2016, 13:43 | |
|
Боюсь, что порадовать особенно не чем.
Похоже поставленная задача выходит за рамки возможностей JS (по крайней мере на сегодняшний день). Пока единственное, что в голову приходит - создать COM-объект и через него мышкой управлять, но это решение подходит только для Windows-патформ, да и не красиво, придётся пользователя заставлять что-то там устанавливать... Я бы скорее всего на его месте не стал бы этого делать. В общем овчинка выделки не стоит. Глубоко проблемой не занимался и ближайшие две недели не смогу. Пока я бы рекомендовал подумать над альтернативным подходом. Например, кнопками "Выделить абзац", "Выделить главу", "Выделить всё" и т.д.. Но если кто-то что-то придумает - было бы очень интересно (для меня - с академической точки зрения).
1
|
|
|
23 / 23 / 11
Регистрация: 28.02.2015
Сообщений: 61
|
||||||
| 02.02.2016, 16:19 | ||||||
|
Вашу задумку c увеличением области выделения по мере движения мыши с незажатой кнопкой, не сильно вдаваясь в детали, можно реализовать так:
1
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|||||||
| 03.02.2016, 18:40 [ТС] | |||||||
|
YakobsEA,
jade, Хитро! Спасибо. Скорее всего здесь будет два слоя. 1) Слой с текстом Тогда, наверное придется получать позицию каретки (смещение в символах), потом скажем запустить предложенную вами функцию и, наконец, по второму клику получить конечное положение каретки и сохранить в буфер для дальнейшего использования. 2) Слой с рамкой выделения. Примерно так я себе это представляю, но вот реализовать в коде вряд ли смогу. Вот этим можно получить позицию каретки:
Есть и альтернативная идея: Если узнать (даже примерно) ширину символа (для упрощения пусть это будет моноширинный Consolas) мы можем при сдвиге курсора по горизонтали добавлять нужное количество символов в созданное выделение (что-то вроде selection.addRange()). Если же курсор движется по вертикали, то зная высоту строки, можно добавлять целые строки в выделение. Как-то так.. ![]() Добавлено через 22 часа 38 минут Но естественно требуется доработка
0
|
|||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 05.02.2016, 16:49 [ТС] | |
|
5 февраля 2016 ...
0
|
|
| 05.02.2016, 16:49 | |
|
Помогаю со студенческими работами здесь
9
При нажатии клавиши I проверить и вывести на экран состояние клавиши Insert
Как вернуться в состояние до нажатия кнопки? Как узнать состояние нажатой радио кнопки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|