Предотвратите выбор в HTML

У меня есть отделение на странице HTML и каждый раз, когда я щелкаю мышью и перемещаю ее, она покажет, что "не может отбросить" курсор как он, выбирает что-то. Существует ли способ отключить выбор? Я попробовал пользовательский выбор CSS с помощью ни одного без успеха.

79
задан Whitewall 3 May 2012 в 21:03
поделиться

3 ответа

Собственные варианты user-select будут работать в большинстве современных браузеров:

*.unselectable {
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;

   /*
     Introduced in IE 10.
     See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
   */
   -ms-user-select: none;
   user-select: none;
}

Для IE <10 и Opera вам нужно будет использовать атрибут unselectable элемента вы хотите, чтобы вас не выбирали. Вы можете установить это с помощью атрибута в HTML:

<div id="foo" unselectable="on" class="unselectable">...</div>

К сожалению, это свойство не унаследовано, то есть вы должны поместить атрибут в начальный тег каждого элемента внутри

. Если это проблема, вы можете вместо этого использовать JavaScript, чтобы сделать это рекурсивно для потомков элемента:

function makeUnselectable(node) {
    if (node.nodeType == 1) {
        node.setAttribute("unselectable", "on");
    }
    var child = node.firstChild;
    while (child) {
        makeUnselectable(child);
        child = child.nextSibling;
    }
}

makeUnselectable(document.getElementById("foo"));
159
ответ дан 24 November 2019 в 10:10
поделиться

У вас есть какое-то прозрачное изображение, которое вы выбрали? Обычно при перетаскивании изображения появляется значок «не может упасть». В противном случае он обычно выделяет текст при перетаскивании. В таком случае вам, возможно, придется поместить изображение позади всего, используя z-index.

1
ответ дан 24 November 2019 в 10:10
поделиться

Я использую cancelBubble = true и stopPropagation () в обработчиках перемещения мыши и перемещения.

5
ответ дан 24 November 2019 в 10:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: