У меня есть таблица, и я разрешаю пользователям выбирать несколько строк. Все это обрабатывается с помощью событий jQuery и некоторых CSS, чтобы визуально указать, что строка выбрана. Когда пользователь нажимает на сдвиг, можно выбрать несколько строк. Иногда это вызывает выделение текста. Есть ли все-таки предотвратить это?Предотвращение выделения текстовой таблицы
ответ
Существует свойство CSS3 для этого.
#yourTable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Слишком плохо обозреватель Internet Explorer. Протестировано в 6-8. –
@NathanTaylor После поиска в Интернете вы найдете дубликат, где это уже разрешено: http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting – Dan
'Validation (CSS 3.0):" moz-none "не является допустимым значением для свойства« -moz-user-select ». И действительно, это не сработало для Firefox, пока я не изменил' moz-none' на 'none'. – Nolonar
Вы можете попробовать сфокусироваться() на выбранном тексте - выбор исчезает.
$('#someEl').focus();
Если вы хотите, чтобы иметь контроль, когда пользователи могут выбрать или не части вас на сайте, вы можете использовать этот little jQuery plugin.
jQuery.fn.extend({
disableSelection : function() {
return this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('user-select', 'none');
jQuery(this).css('-o-user-select', 'none');
jQuery(this).css('-moz-user-select', 'none');
jQuery(this).css('-khtml-user-select', 'none');
jQuery(this).css('-webkit-user-select', 'none');
});
}
});
и использовать его как:
// disable selection on #theDiv object
$('#theDiv').disableSelection();
В противном случае, вы можете просто использовать эти CSS атрибуты внутри вашего файла CSS, как:
#theDiv
{
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Я просто удаляю выбор, сделанный с помощью клавиши смены. Это может показать немного мерцать хотя
if (event.shiftKey) {
window.getSelection().removeAllRanges()
}
Только одна ноты на ответе от Клейтона выше - пример кода, кажется, работает хорошо, но для того, чтобы быть хорошим гражданином в мире Jquery, вы должны вернуть JQuery объект в конце функции, так что это цепной - простой однострочный дополнение устанавливает, что до:
jQuery.fn.extend({
disableSelection : function() {
this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css('-moz-user-select', 'none');
});
return this;
}
});
Приветствия, надеюсь, что это полезно.
Он делает это с помощью «return this.each (function() {...» – frontendbeauty
Если у вас есть Jquery UI на ваших страницах, просто используйте
$("element-selector").disableSelection();
Это недокументированное, но должно работать, если у вас есть ядро jQuery UI –
. Хорошая вещь об этом решении заключается в том, что он также применим к IE и реплицирует функциональность решения, которые уже упоминались, если вы посмотрите на код. – sksallaj
Обратите внимание, что disableSelection() устарел в jQuery UI 1.9 – mar10
::-moz-selection { /* Code for Firefox */
color: black;
background: none;
}
::selection {
color: black;
background: none;
}
от http://www.w3schools.com/cssref/sel_selection.asp
фактически из раздела примерки его, после изменения значения.
Обратите внимание, что курсор все еще «I» ...
Примечание: Псевдоэлемент :: selection был создан для CSS Selectors Level 3, но удален до статуса рекомендации. момент, псевдоэлемент :: selection не входит ни в какую спецификацию (однако он может быть добавлен в будущие спецификации CSS). – luk2302
- 1. Предотвращение выделения фрагментов карты
- 2. HTML: Предотвращение пустоты области выделения?
- 3. Предотвращение Notepad ++ от выделения кода javascript
- 4. Предотвращение выделения скайпа из искажающих текстовых полей
- 5. Предотвращение выделения область холст в Chrome
- 6. Предотвращение Git Gui от выделения задних пространств
- 7. Предотвращение выделения для итераторов ArrayList в Java
- 8. Предотвращение экранирования HTML в текстовой области
- 9. Предотвращение множественного представления данных текстовой области
- 10. Использование текстовой таблицы вместо таблицы MySQL
- 11. JQuery Строка таблицы выделения запроса
- 12. Предотвращение создания пользователями таблицы
- 13. Предотвращение изменения таблицы
- 14. Предотвращение перетаскивания таблицы HTML
- 15. программа Предотвращение от сбоев при показе стека выделения следов
- 16. Предотвращение проверки формы CSS .error от выделения текстового поля
- 17. Предотвращение выделения поля со списком WPF при изменении itemssource
- 18. Предотвращение jQuery при экранировании при настройке содержимого текстовой области
- 19. PHP - Предотвращение разрывов строк в динамически созданной текстовой области
- 20. предотвращение сбоев таблицы MyISAM mysql
- 21. Предотвращение нежелательных каскадных обновлений таблицы
- 22. SAPUI5: Альтернативный цвет выделения строк таблицы
- 23. Использование URL для выделения строки таблицы
- 24. Как удалить границу выделения на ячейке таблицы?
- 25. Фильтрация сводной таблицы на основе текстовой строки в ячейке
- 26. Сортировка сводной таблицы по текстовой строке
- 27. Разрешить редактирование текстовой динамической таблицы php
- 28. Извлечь данные столбца из простой текстовой таблицы
- 29. нагрузки из таблицы SQL в HTML текстовой
- 30. Объединить строки другой текстовой как таблицы
Возможный дубликат [CSS-правило для отключения выделения текста] (http://stackoverflow.com/questions/826782/css-rule-to- disable-text-selection-highlight-highlighting) – Dan