Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne] Modyfikacja zachowania drag & drop w textarea, Głównie w Google Chrome
Print_Screen
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


W edytorach tekstu mamy taką funkcję jak: przeciągnij i upuść. Powoduje ona przeniesienie zaznaczonego fragmentu w inne miejsce. Jeśli w czasie przeciągania wciśniemy Ctrl, to zamiast przeniesienia nastąpi przekopiowanie. Niestety w przeglądarkach, ta druga funkcja nie działa.

Czy da się zmusić przeglądarkę (w szczególności Google Chrome) do tego, żeby przeciągnij i upuść wykonywane w polu tekstowym powodowało kopiowanie?

Jeśli się nie da z poziomu przeglądarki, to może da się to zrobić z poziomu strony? Dałoby się opatrzyć textarea jakimś kodem np. JavaScript, który by powodował, że drag & drop w obrębie tego pola będzie kopiowało, a nie tylko przenosiło zaznaczony tekst?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zielu001
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 3
Dołączył: 15.08.2009

Ostrzeżenie: (0%)
-----


  1. var zaznaczone = $('textarea').getSelection();
  2.  
  3. function textareaInsertAtCursor( o, value) {
  4. // IE
  5. if (document.selection) {
  6. o.focus();
  7. var sel = document.selection.createRange();
  8. sel.text = value;
  9. sel.moveStart( 'character', -1 * value.length);
  10. sel.select();
  11. //modern browsers
  12. } else if (o.selectionStart || o.selectionStart == 0) {
  13. var startPos = o.selectionStart;
  14. var endPos = o.selectionEnd;
  15. o.value = o.value.substring(0, startPos) + value + o.value.substring(endPos);
  16. o.selectionStart = startPos;
  17. o.selectionEnd = startPos + value.length;
  18. o.focus();
  19. // else add at the end
  20. } else {
  21. o.value += value;
  22. }
  23. }
  24.  
  25.  
  26.  


To Ci powinno pomóc.. prawie gotowiec. Wystarczy sprawdzić kiedy ktoś puścił przycisk myszki i czy ma wciśniety CTRL!..

Ten post edytował zielu001 1.04.2013, 18:23:24


--------------------
"Zło do triumfu potrzebuje tylko tego, aby dobrzy ludzie nic nie robili"
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:25