Я хотел бы обнаружить на веб-странице, когда пользователь выбирает какой-либо текст путем перетаскивания. Тем не менее, в Windows есть один сценарий, который я называю «двойным щелчком» (извините, если уже есть лучшее имя, которое я не знаю), и я не могу понять, как его обнаружить. Это выглядит следующим образом:Как обнаружить перетаскивание с двойным щелчком в javascript/jQuery
- нажмите кнопку мыши
- быстро отпустите кнопку мыши
- быстро нажмите кнопку мыши еще раз
- перетаскивание с нажатой кнопкой
Это приводит к затягиванию, чтобы выбрать целые слова. Это довольно полезный метод с точки зрения пользователя.
То, что я пытаюсь сделать, это указать разницу между двойным щелчком мыши и щелчком, а затем отдельным перетаскиванием. Поэтому, когда я дойду до шага 2, я получу событие щелчка, но я не хочу рассматривать его как клик; Я хочу посмотреть, не собирается ли они сразу сделать шаг 3.
Предположительно, Windows обнаруживает это на основе времени и степени перемещения мыши между шагами 2 и 3, но я не знаю параметров он использует, поэтому я не могу реплицировать логику Windows. обратите внимание, что даже если мышь не движется вообще между шагами 2 и 3, я все равно получаю событие mousemove.
Я понимаю, что я должен разрабатывать интерфейсы с сенсорным интерфейсом и нейтральными по отношению к устройствам, и я намерен поддерживать другие устройства, но это корпоративное приложение, предназначенное для пользователей на ПК с Windows, поэтому я хочу оптимизировать этот если возможно.
Это может быть полезно http://stackoverflow.com/questions/9950042/javascript-click-doubleclick- и-drag-in-the-same-element Хотя вам нужно будет изменить его в соответствии с вашими потребностями. – Zzyrk
Не уверен, что я это понял, но если вы дважды щелкните по слову в своем браузере, он не выбран по умолчанию, так что все, что вам действительно нужно сделать, это обернуть выбор текста и сделать его перетаскиваемым? – adeneo