Ответ 1
Справка:
В приведенном выше jsFiddle Demo используется плагин, позволяющий предотвращать выбор любого блока текста в устройствах Android или iOS (наряду с настольными браузерами тоже).
Он прост в использовании, и вот примерная разметка после установки плагина jQuery.
Пример HTML:
<p class="notSelectable">This text is not selectable</p>
<p> This text is selectable</p>
Пример jQuery:
$(document).ready(function(){
$('.notSelectable').disableSelection();
});
Код плагина:
$.fn.extend({
disableSelection: function() {
this.each(function() {
this.onselectstart = function() {
return false;
};
this.unselectable = "on";
$(this).css('-moz-user-select', 'none');
$(this).css('-webkit-user-select', 'none');
});
return this;
}
});
За комментарий вашего сообщения: I still need to be able to trigger events (notably, touchstart, touchmove, and touchend) on the elements.
Я бы просто использовал обертку, которая не, затронутая этим плагином, но это текстовое содержимое защищено с помощью этого плагина.
Чтобы разрешить взаимодействие со ссылкой в блоке текста, вы можете использовать span tags
для всех, кроме ссылки, и добавить имя класса .notSelected
только для span tags
, тем самым сохраняя выбор и взаимодействие ссылки anchors.
Обновление статуса:. Этот обновленный jsFiddle подтверждает, что вы можете сказать, что, возможно, другие функции могут не работает, когда выбор текста отключен. Показанный в этом обновленном jsFiddle является jQuery Нажмите "Слушатель событий", который будет запускать оповещение обозревателя, если щелкнуть жирным шрифтом, даже если этот выделенный текст не выбран по тексту.