Mam div na stronie HTML i za każdym razem, gdy naciśnie mysz i przenieść, pokaże, że "nie można upuścić" kursor jak coś wybiera. Czy istnieje sposób wyłączenia selekcji? Próbowałem wybrać użytkownika CSS bez żadnego sukcesu.Zapobieganie zaznaczeniu w HTML
Odpowiedz
Własne odmiany user-select
będzie działać w większości nowoczesnych przeglądarek:
*.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;
}
dla IE < 10 i Opera, trzeba będzie użyć atrybutu elementu chcesz być Nie można wybrać unselectable
. Można ustawić to za pomocą atrybutu w HTML:
<div id="foo" unselectable="on" class="unselectable">...</div>
Niestety ta właściwość nie jest dziedziczona, co oznacza, że trzeba umieścić atrybut w znaczniku początku każdego elementu wewnątrz <div>
. Jeśli jest to problem, można zamiast tego użyć JavaScript, aby to zrobić rekursywnie dla potomnych elementu za:
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"));
Jeżeli masz jakieś przejrzysty obraz, że wybierający? Zwykle podczas przeciągania obrazu pojawia się ikona "cant drop". W przeciwnym razie normalnie wybiera tekst po przeciągnięciu. Jeśli tak, być może będziesz musiał umieścić obraz za wszystkim używając z-index.
Używam cancelBubble=true
i stopPropagation()
w myszce w dół i przenoszę obsługę.
Co mnie złapało to, że potrzebujesz go w narzędziu? poruszyć i przenieść manipulatory, a nie tylko przenieść! –
To wydaje użytkownik-select CSS nie zapobiegają obrazu przeciągnij i upuść ... tak ..
HTML:
<img src="ico.png" width="20" height="20" alt="" unselectable="on" /> Blabla bla blabla
CSS:
* {
user-select: none;
-khtml-user-select: none;
-o-user-select: none;
-moz-user-select: -moz-none;
-webkit-user-select: none;
}
::selection { background: transparent;color:inherit; }
::-moz-selection { background: transparent;color:inherit; }
JS:
$(function(){
$('*:[unselectable=on]').mousedown(function(event) {
event.preventDefault();
return false;
});
});
Czy możemy użyć tego domyślnego kodu dla wszystkich obrazów? –
Możesz użyć selektora "img", ale zachowaj ostrożność przy "event.preventDefault();" ponieważ żadne inne zdarzenia związane z "mousedown" nie będą działały na nich na twojej stronie ... – molokoloco
event.preventDefault()
wydaje się robić trik (testowany w IE7-9 i Chrome):
jQuery('#slider').on('mousedown', function (e) {
var handler, doc = jQuery(document);
e.preventDefault();
doc.on('mousemove', handler = function (e) {
e.preventDefault();
// refresh your screen here
});
doc.one('mouseup', function (e) {
doc.off('mousemove', handler);
});
});
Dziękuję za to, szukaliście czasu na właściwy sposób, aby zablokować wybraną listę I, którą blokowałem przy kliknięciu, ponieważ wyłączone wartości nie post ..... haha – thekevshow
- 1. Zapobieganie buforowaniu strony HTML
- 2. Przechowywanie informacji o zaznaczeniu tekstu w przeglądarce
- 3. Wykonywanie "base64 --decode" na zaznaczeniu w vim
- 4. "Sortuj linie w zaznaczeniu" dla Xcode 4
- 5. wyłączyć pole po zaznaczeniu android
- 6. Zapobieganie porcji w rmarkdown
- 7. Zapobieganie Jade z dodaniem klauzuli przypisania w elemencie HTML
- 8. Zdarzenie JAVAFX wyzwalane po zaznaczeniu pola wyboru
- 9. wysyłanie formularza po zaznaczeniu pola wyboru
- 10. Zapobieganie migotaniu w kakao WebView
- 11. asp.net mvc i css: Po zaznaczeniu karty menu przy wyborze
- 12. Zapobieganie ERR_BLOCKED_BY_XSS_AUDITOR w chromie
- 13. PL/SQL Wstawianie 1 wiersza dla każdego wyniku w zaznaczeniu
- 14. Jak wywołać zmianę Ng w zaznaczeniu, które zawiera powtórzenie ng
- 15. Wyczyść pole tekstowe w Autouzupełnianie Jquery po zaznaczeniu
- 16. Czy mogę wykonywać matematykę na zaznaczeniu w Sublime Text?
- 17. Wyświetl pole tekstowe po zaznaczeniu pola wyboru w obiekcie wizualnym
- 18. Dlaczego pola wyboru przesuwają się po zaznaczeniu w Safari?
- 19. Zapobieganie zaznaczaniu tekstu przy szybkich kliknięciach przycisków
- 20. Zapobieganie blokowaniu przeglądarki JavaScript w dużej pętli
- 21. Zapobieganie CSRF?
- 22. Zapobieganie wyświetlaniu linków w klientach pocztowych
- 23. Zapobieganie kliknięciu przez div
- 24. Zapobieganie hiperłączom w wiadomościach e-mail w formacie HTML (czyli Outlook)
- 25. Zapobieganie propagacji zdarzeń podczas używania sprawdzonego powiązania w knockoutjs
- 26. Zapobieganie automatycznemu skanowaniu w RichTextBox
- 27. Zapobieganie buforowaniu w SQL Server
- 28. Zapobieganie buforowaniu w plikach JavaScript
- 29. Zapobieganie podziałowi słów w podciągach
- 30. Zapobieganie tworzeniu wątków w AppDomain
Ach, wygląda na to, że Firefox 3.6 działa tylko z prefiksem -moz-. – Tower
to nie jest zaznaczone, ale nadal kopiowane do schowka (zgodnie ze specyfikacją MDC na http://goo.gl/5P8uH) – ithkuil
@ithkuil: Interesujące. Wygląda na to, że '-moz-none' jest do zrobienia. Zmienię moją odpowiedź. –