Как я могу отключить выделение в HTML или JS?

int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t

Это дополнительный объект в стандарте, но это должна быть скрытая функция, потому что люди постоянно переопределяют их. Одна кодовая база я продолжил работать (и все еще делают, на данный момент) имеет несколько переопределений, все с различными идентификаторами. Большую часть времени это с макросами препроцессора:

#define INT16 short
#define INT32  long

И так далее. Это заставляет меня хотеть вытащить волосы. Просто используют чертовски стандартные целочисленные определения типов!

23
задан Jens Schauder 3 April 2016 в 17:31
поделиться

5 ответов

Вы можете использовать селектор псевдокласса CSS :: selection и :: - moz-selection для Firefox.

Например:

::-moz-selection {
    background-color: transparent;
    color: #000;
}

::selection {
    background-color: transparent;
    color: #000;
}

.myclass::-moz-selection,
.myclass::selection { ... }
21
ответ дан 29 November 2019 в 02:25
поделиться

Я считаю, что вы имеете в виду выделение текста (например, перетаскивание курсора мыши для выделения). Если это так, это отменит действие выбора в IE и Mozilla:

window.onload = function() {
  if(document.all) {
      document.onselectstart = handleSelectAttempt;
  }
  document.onmousedown = handleSelectAttempt;
}

function handleSelectAttempt(e) {
    var sender = e && e.target || window.event.srcElement;
    if(isInForm(sender)) {
        if (window.event) {
            event.returnValue = false;
        }
        return false;
    }
    if (window.event) {
        event.returnValue = true;
    }
    return true;
}

function isInForm = function(element) {
    while (element.parentNode) {
        if (element.nodeName.ToUpperCase() == 'INPUT'
            || element.nodeName.ToUpperCase() == 'TEXTAREA') {
            return true;
        }
        if (!searchFor.parentNode) {
            return false;
        }
        searchFor = searchFor.parentNode;
    }
    return false;
}
5
ответ дан 29 November 2019 в 02:25
поделиться

Я думаю, вы ищете псевдокласс: focus. Попробуйте следующее:

input:focus {
  background-color: #f0f;
}

При выборе он придаст вашему вводу довольно пурпурный / розовый цвет.

Я не уверен, какие свойства вам нужно (отменить), но я думаю, вы можете выяснить это самостоятельно, используя метод проб и ошибок. .

Также обратите внимание, что выделение или отсутствие выделения зависит от браузера!

0
ответ дан 29 November 2019 в 02:25
поделиться

Вы имеете в виду выделение текста, когда вы наводите на него указатель мыши?

Лучший способ сделать это - использовать свойство CSS3 под названием :: selection, однако, будучи CSS3, оно еще не очень хорошо поддерживается. Идите и посмотрите, иначе, возможно, есть способ сделать это с помощью Javascript.

0
ответ дан 29 November 2019 в 02:25
поделиться

Если ваша конечная цель - усложнить копирование и вставку текста, Javascript и CSS - неподходящие технологии, потому что вы не можете отключить функцию просмотра исходного кода в браузере.

Некоторые другие идеи (ни один из них не идеален):

  • java-апплет (вы управляете отображением и извлечением текста)
  • то же самое в другом плагине браузера (flash, silverlight и т. д.)
  • изображения, созданные на стороне сервера (плохие производительность)
0
ответ дан 29 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

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