У меня есть поле ввода в HTML с цифровым текстом, который имеет точки i.e «1.00.1». Если я дважды щелкнул по этому полю в IE или firefox, браузер выделит только часть текста (между точками), но в двойном щелчке Chrome выделите весь текст в этом поле. Каков наилучший способ изменить это поведение в Chrome? Если в поля ввода есть только текст (т. Е. Test.test), двойной щелчок с выбором в Chrome работает так же, как IE и Firefox. Двойной щелчок по выбору текста в полях ввода в Chrome
ответ
Должно быть возможным, но сложным. Сначала вам нужно определить позицию курсора на клике (первый щелчок dblclick), сохранить его и использовать в dblclick (второй щелчок): Get cursor position (in characters) within a text Input field Здесь ваша проблема заключается в том, чтобы не вызвать щелчок на dblclick, поскольку он изменит позиция курсора неверна (сброс курсора pos на 0). Я пытался, но это будет сложно управлять: http://jsfiddle.net/n2rzyxvg/3/
jQuery(document).on('click',"#input",function(){
var clickpos = jQuery(this).getCursorPosition() ;
jQuery(this).data('clickpos',clickpos) ;
console.log("Click ! " + clickpos) ;
});
jQuery(document).on('dblclick',"#input",function(){
console.log("DblClick ! " + jQuery(this).data('clickpos')) ;
});
Существует способ, но это не perfert (не уважает поведение ОС в DblClick, это установить пользовательский тайм-аут, чтобы имитировать DblClick): Jquery bind double click and single click separately Если вам удастся получить позицию курсора на DblClick, вы тогда просто должны найти свою первую и последнюю позицию символа, где вы хотите JQuery, чтобы начать/остановить свой выбор: Selecting Part of String inside an Input Box with jQuery
Я не могу помочь вам много больше, но сложная часть здесь - щелчок запуска dblclick, se cond должна быть проще.
Надежда это может помочь HF
Спасибо! эта подсказка разрешает мою проблему :) –
действительно? Но как вы решили проблему dblclick? Можете ли вы показать скрипт решения? –
Я постараюсь сделать это сегодня вечером, а затем поставлю решение :) –
- 1. Двойной щелчок по выбору текста в CFEclipse
- 2. Поиск по выбору ввода
- 3. Как очистить значения в полях ввода текста?
- 4. Местоположение курсора в полях ввода текста
- 5. Двойной щелчок по аннотациям карты
- 6. Двойной щелчок по радио в IE
- 7. Двойной щелчок по файлу в FileTreeModel
- 8. двойной щелчок по реализации в телефоне
- 9. Двойной щелчок по целой строке в gridview
- 10. Jquery двойной щелчок по форме
- 11. Двойной щелчок по невизуального компонента
- 12. Двойной щелчок, также срабатывает двойной щелчок
- 13. Изменить цвет текста по выбору
- 14. Двойной щелчок по гиперссылке - эффект по HTTP
- 15. двойной щелчок, используя IE
- 16. Двойной щелчок в R-shiny
- 17. Отключить двойной щелчок выберите
- 18. Двойной щелчок в android View
- 19. Android: Двойной щелчок в браузере
- 20. Двойной одноразовый щелчок в XNA
- 21. Двойной щелчок мышью в GTK #
- 22. Двойной щелчок в python selenium
- 23. Двойной щелчок в Vim вызвал странное поведение
- 24. NSTableView двойной щелчок/переименование
- 25. QTableView и двойной щелчок по ячейке
- 26. Как предотвратить двойной щелчок по кнопке обновления
- 27. C# PropertyGrid двойной щелчок
- 28. Как выполнить двойной щелчок по строке ретранслятора?
- 29. Двойной щелчок по редактированию текстовой клавиатуры показывает
- 30. WPF ListBoxItem двойной щелчок?
Это родное поведение браузера и как таковые не могут быть изменены. Однако вы можете использовать javascript, чтобы получить весь текст, выбранный при фокусировке на текстовом вводе. Оформить заказ [этот ответ] (http://stackoverflow.com/a/987376/777850) для получения более подробной информации – giorgio
Это не связано с кодом. Это поведение браузера. Просто перейдите на веб-сайт, на котором есть текстовое поле ввода (например, www.google.com), а затем введите номер с точкой (i.e 1.00.1) в поле ввода, а затем дважды щелкните по вводу. Пожалуйста, сделайте это в трех браузерах (IE, Firefox и chrome), и вы увидите, что у Chrome другое поведение. –
@giorgio. Я предположил, что это поведение браузера, но для меня это поведение очень бесполезно. Многие страны имеют формат даты с точками, поэтому изменить что-то с выбором двойного щелчка является ужасным. Для меня поведение в Chrome должно быть наоборот. Если у меня есть число в текстовом поле, выберите мою единственную часть между точками. Если у меня есть текст с точками, следует выделить весь текст. –