Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Crtl -C w inpucie i jquery
brayan.tr
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 1.03.2011

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


Witam, mam opracowaną funkcję która nasłuchuje zmian w polu input i odpowiednio przetwarza dane do kolejnego inputa. Wszystko fajnie ale psuje się gdy zrobie Ctrl -C na inpucie 1. Koledzy poratujcie jakimś linkiem do tutoriala lub arta poruszającego ten problem, tudzież jeśli ktoś znajdzie czas to może by cos zasugerował tongue.gif
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Ja bym to zrobił tak(chyb, że jest na to jakiś gotowy kod( w sensie od twórców JS), ale wątpię ) :
1. W JS można sprawdzić czy ctrl został wciśnięty, jeżeli tak i na dodatek z przyciskiem c to znak, że należy spodziewać się tekstu
2. Jeżeli 1. nie zadziała to, po przez zdarzenie onkey(down|up) sprawdzaj wpisanych ilość znaków + ilość znaków w input-cie - length. Z tym jest trochę bawienia się, ale jest to do zrobienia.

Generalnie zacznij szukać w google sposobu z ctrl+c pod kątem 1. pomysłu. 2 jest szalony ;P


--------------------
Go to the top of the page
+Quote Post
brayan.tr
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 1.03.2011

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


Tak też zrobiłem alle chyba słabo szukam tongue.gif W sumie to zależało mi na skorzystaniu z jquery przy tym problemie
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


http://www.google.com/search?&q=js+ctr...-8&oe=utf-8 -> http://stackoverflow.com/questions/2903991...sing-javascript

Cytat
Limitations of this method:
Opera doesn't allow disabling right click events
Drag and drop between browser windows can't be prevented as far as I know.
The edit->copy menu item in e.g. Firefox can still allow copy/pasting.
There's also no guarantee that for people with different keyboard layouts/locales that copy/paste/cut are the same key codes (though layouts often just follow the same standard as English), but blanket "disable all control keys" mean that select all etc will also be disabled so I think that's a compromise which needs to be made.


To moim zdaniem, nie jest aż takie ważne smile.gif


--------------------
Go to the top of the page
+Quote Post
zegarek84
post
Post #5





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(manual jQuery)
Event Properties

The following properties are guaranteed to be members of the event object, though some of their values may be undefined, depending on the event:

altKey, attrChange, attrName, bubbles, button, cancelable, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, fromElement, handler, keyCode, layerX, layerY, metaKey, newValue, offsetX, offsetY, originalTarget, pageX, pageY, prevValue, relatedNode, relatedTarget, screenX, screenY, shiftKey, srcElement, target, toElement, view, wheelDelta, which

tylko to są właściwości przed normalizacją, nie pamiętam czy w evencie w każdej przeglądarce jest zdefiniowana właściwość .ctrlKey

Ale jeśli jest wymagana jakaś kolejność lub kombinacja wciśniętych klawiszy to wystarczy przechwycić przy wciskaniu danego klawisza do zmiennej - czyli nasłuch na wciskanie - każdą ze zmiennych danego klawisza resetować przy podnoszeniu - czyli nasłuch na podnoszenie klawiszy...

nasłuch na klawisze możesz wykonać albo na polach typu input/textarea albo dopiero na całym obiekcie document

wklejanie możesz wykryć na 2 sposoby
1. Wciśnięte klawisze co tu podane wyżej
2. podpięcie zdarzeń w zależności od przeglądarki (to sobie nazwy doszukaj gdyż nie jestem pewien) beforePaste, onPaste, paste

jeśli zamierzałbyś stosować obie te metody to należy gdzieś zrobić małą blokadę by funkcja nie wykonywała się wiele razy...

co do drugiej metody to tekst masz wklejony dopiero po chwili - więc funkcję musisz odpalić z timoutem

wklejany tekst możesz spokojnie przechwycić, musisz tylko przy wykryciu zdarzenia wklejania przekierować na inny aktywny element

jeszcze co przeglądarka trochę inaczej wyglądają zdarzenia onkeydown i onkeypress (ale to tylko delikatne niuanse)

swoją drogą z dzisiejszą wiedzą trochu inaczej bym napisał te rozwinięcia do edytora na manifo.pl ;p gdzie w edytorze wysiwgn jest też przechwytywany kod html wklejany z innych stron...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

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: 21.08.2025 - 23:36