2015-03-14 2 views
2

Что я пытаюсь сделать, когда нажата клавиша CTRL + A, ярлык для выбора всех; Я не хочу, чтобы он выбирал все, но только определенную область (например, все внутри контейнеров с классом xyz). Однако я не могу ничего работать. Даже просто использование select() не работает. Пример:jQuery: привязка «CTRL + A» только для выбора только определенной области

$("table").select(); 

Я попытался с помощью JS решение, которое я нашел здесь, но это было обязательным, если определенная область активна, и я не мог работать вокруг него. Это код:

$(document).keydown(function(e) { 
    if (e.keyCode == 65 && e.ctrlKey) { 
     var range = document.createRange(); 
     range.selectNode(document.getElementById('table')); 
     window.getSelection().addRange(range); 
     e.preventDefault(); 
    } 
}); 

Я создал jsfiddle здесь: http://jsfiddle.net/zpd8yLn7/

То, что я хочу, что текст внутри class="class" быть выбран, когда CTRL + A нажата.

ответ

2

В случае, если вы открыты к чисто CSS решения: JS Fiddle

body > :not(.class) { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 

Ссылки:

CSS rule to disable text selection highlighting

CSS-Tricks - not(s)

+0

Это хорошо выглядит и работает. Совместим ли он со всеми современными браузерами? – AliIshaq

+0

Да. Chrome 6.0+, Firefox, Opera 15+, Safari 3.1+, IE10 + –

Смежные вопросы