Подтвердить что ты не робот

Javascript: отключить выбор текста

Я использую JavaScript, чтобы отключить выбор текста на моем веб-сайте.

Код:

<script type="text/JavaScript">

function disableselect(e) {
  return false
}

function reEnable() {
  return true
}

document.onselectstart = new Function ("return false")

if (window.sidebar) {
  document.onmousedown = disableselect
  document.onclick = reEnable
}
</script>

Подобный скрипт можно найти здесь

На моем локальном хосте: все браузеры (Firefox, Chrome, IE и Safari) работают отлично.

На моем сайте Live: все в порядке, кроме Firefox.

Мои вопросы:

  1. У кого-нибудь есть предложения относительно того, почему Firefox ведет себя по-разному для живого сайта и локального хоста. Примечание: Javascript включен.

  2. Возможно, мой сценарий слишком упрощен, поэтому я попробовал следующее с ТОЧНО ЖЕ Результатами

4b9b3361

Ответ 2

Я пишу элемент управления slider ui для обеспечения функции перетаскивания, это мой способ предотвратить выбор содержимого при перетаскивании пользователя:

function disableSelect(event) {
    event.preventDefault();
}

function startDrag(event) {
    window.addEventListener('mouseup', onDragEnd);
    window.addEventListener('selectstart', disableSelect);
    // ... my other code
}

function onDragEnd() {
    window.removeEventListener('mouseup', onDragEnd);
    window.removeEventListener('selectstart', disableSelect);
    // ... my other code
}

свяжите startDrag с вашим dom:

<button onmousedown="startDrag">...</button>

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

window.addEventListener('selectstart', function(e){ e.preventDefault(); });

Ответ 3

Для JavaScript используйте эту функцию:

function disableselect(e) {return false}
document.onselectstart = new Function (return false)
document.onmousedown = disableselect

чтобы включить выбор:

function reEnable() {return true}

и используйте эту функцию в любом месте:

document.onclick = reEnable

Ответ 4

Если вы получили HTML-страницу, как это:

    <body
    onbeforecopy = "return false"
    ondragstart = "return false" 
    onselectstart = "return false" 
    oncontextmenu = "return false" 
    onselect = "document.selection.empty()" 
    oncopy = "document.selection.empty()">

Там простой способ отключить все события:

document.write(document.body.innerHTML)

Вы получили HTML-контент и потеряли другие вещи.

Ответ 5

Просто скопируйте этот текст и поместите его перед </body>

function disableselect(e) {
  return false
}

function reEnable() {
  return true
}

document.onselectstart = new Function ("return false")

if (window.sidebar) {
  document.onmousedown = disableselect
  document.onclick = reEnable
}

Ответ 6

Можно также использовать:

onselectstart = (e) => {e.preventDefault()}

Пример:

onselectstart = (e) => {
  e.preventDefault()
  console.log("nope!")
  }
Select me!