Funkce najetí myší Jquery. Učení Java

SSH (Secure SHell) je síťový protokol na úrovni relace, který umožňuje vzdálené ovládání operačního systému a tunelování TCP spojení (například pro přenos souborů). Funkčně podobný protokolům Telnet a rlogin, ale na rozdíl od nich šifruje veškerý provoz včetně přenášených hesel. SSH umožňuje výběr různých šifrovacích algoritmů. Klienti SSH a servery SSH jsou k dispozici pro většinu síťových operačních systémů.

SSH umožňuje bezpečný přenos téměř jakéhokoli jiného síťového protokolu v nezabezpečeném prostředí. Můžete tak nejen vzdáleně pracovat na svém počítači prostřednictvím příkazového shellu, ale také přenášet audio stream nebo video (například z webové kamery) přes šifrovaný kanál. SSH může využít i kompresi přenášených dat pro následné šifrování, což se hodí například pro vzdálené spouštění klientů X Window System.

Většina poskytovatelů hostingu poskytuje klientům za poplatek SSH přístup do jejich domovského adresáře. To může být výhodné jak pro práci na příkazovém řádku, tak pro vzdálené spouštění programů (včetně grafických aplikací).

První verze protokolu, SSH-1, byla vyvinuta v roce 1995 výzkumníkem Tatu Ulönenem z Helsinské technologické univerzity ve Finsku. SSH-1 byl napsán tak, aby poskytoval větší soukromí než protokoly rlogin, telnet a rsh. V roce 1996 byla vyvinuta bezpečnější verze protokolu SSH-2, která není kompatibilní s SSH-1. Protokol získal ještě větší popularitu a v roce 2000 měl přibližně dva miliony uživatelů. V současné době termín „SSH“ obvykle znamená SSH-2, protože První verze protokolu se dnes pro značné nedostatky prakticky nepoužívá.

Tento článek se zaměří na události myši Javascript. Tyto události jsou v Javascriptu velmi důležité a používají se na každém kroku. Nejprve vám řeknu o všech standardních událostech myši: mousedown, mouseup, click, dblclick, mousemove a nakonec mouseover a mouseout.

Události spouštění myší, stahování myší a klikání

Když uživatel klikne na prvek, spustí se alespoň 3 události myši v tomto pořadí:

  • mousedown , uživatel stiskl tlačítko myši na prvku
  • mouseup , uživatel uvolnil tlačítko myši na prvku
  • události click , mousedown a mouseup detekované na prvku
  • Události mousedown a mouseup jsou v zásadě užitečnější než události kliknutí. Někdy uživatel klepne myší, ale událost kliknutí se nespustí.

    Předpokládejme, že uživatel klikl na tlačítko na odkazu, poté přesunul kurzor někam do strany a tlačítko uvolnil. Odkaz zpracoval pouze událost mousedown. Můžete také reprodukovat opačnou situaci, když uživatel stiskne tlačítko myši a poté přesune kurzor nad odkaz a uvolní tlačítko. Vyvolá se pouze událost mouseup. V ostatních případech se kliknutí spustí.

    Každopádně k tomuto problému dochází pouze v případě, že to chcete. Musíte zaregistrovat obslužné rutiny události onmousedown/up, ale ve většině případů stačí událost click.

    Pamatujte, že pokud používáte výstrahy, prohlížeč se může zmást a ztratit pořadí prováděných událostí a počet jejich volání.

    událost dblclick (dvojité kliknutí)

    Událost dblclick se používá mnohem méně často než všechny ostatní události myši. Pokud jej používáte, ujistěte se, že nepoužíváte obslužné rutiny událostí onclick a ondblclick pro stejný prvek HTML. Je téměř nemožné určit, co uživatel v tomto případě udělal.

    Když uživatel dvakrát klikne na prvek, nejprve se spustí událost click a teprve potom událost dblclick. Používání výstražných zpráv je zde také extrémně nebezpečné.

    Událost Mousemove

    Událost mousemove funguje dobře, ale měli byste si být vědomi toho, že zpracování těchto typů událostí může nějakou dobu trvat. Událost mousemove se spustí, když uživatel přesune kurzor myši o jeden pixel. Zdálo by se, že se nic zvláštního neděje, ale uvnitř jsou složité funkce, jejichž proces trvá dlouhou dobu. To může vést k nestabilnímu provozu webu. Proto je nejlepší použít obslužnou rutinu události onmousemove pouze tam, kde je to skutečně potřeba, a v budoucnu ji určitě odebrat.

    Element.onmousemove = doSomething;
    // Později
    element.onmousemove = null;

    Události přejetí myší a přejetí myší

    Podívejme se na malý příklad. Zkuste přesunout kurzor myši na prvky s různým pozadím. Prvek 1 by měl mírně zablikat, když na něj najedete myší – tím se spustí událost mouseover.

    Element№1

    Rozpětí prvku č. 2

    Jak však můžete vidět, tato událost se spustí také při najetí myší na prvek č. 2 a dokonce span.

    Důvodem tohoto chování je, že událost nastavená na prvním prvku platí také pro jeho podřízené uzly. Vše je velmi přehledné, ale problém nastává, když potřebujeme provést nějakou akci, když se kurzor myši přesune například z prvku span na prvek č. 2.

    "Odkud se vzala myš?" nebo související vlastnosti, fromElement a toElement

    Společnost Microsoft vytvořila dvě vlastnosti pro ukládání těchto informací:

    • fromElement - odkazuje na prvek, ze kterého přišla myš.
    • toElement - prvek, ke kterému se myš dostala.
    Křížový kód prohlížeče

    Pokud tedy chcete vědět, odkud se myš vzala pomocí události mouseover, použijte následující skript:

    Funkce doSomething(e) (
    var relTarg = e.relatedTarget || e.fromElement;
    }

    V případě použití události mouseout (prvek, na který se pohybuje kurzor):

    Funkce doSomething(e) (
    if (!e) var e = okno.událost;
    var relTarg = e.relatedTarget || e.toElement;
    }

    Mouseenter a mouseleave

    Microsoft nabízí jiný způsob, jak problém vyřešit. Vytvořili 2 nové události mouseenter a mouseleave . Tyto události mají stejné chování jako mouseover a mouseout . Jediný rozdíl je v tom, že události „nepřeskočí“ na podřízené prvky. To velmi dobře řeší náš problém uvedený v příkladu.

    No, to je vše, o čem jsem chtěl mluvit o událostech myši Javascript. Na vaše komentáře rád odpovím.

    Události jQuery pomáhají učinit webové stránky interaktivní tím, že reagují na jednoduché akce uživatele. Události představují přesný okamžik, kdy se něco stane, například kliknutí myší.

    Okamžik, ve kterém událost nastane, se nazývá spouštění události. Události mohou být spuštěny při provádění různých operací na webové stránce. Zdrojem událostí se navíc může stát samotný prohlížeč.

    Ovládání webové stránky pomocí událostí jQuery 1. Události myši

    .click()
    Tato událost se spustí, když stisknete a uvolníte tlačítko myši. Platí pro odkazy, obrázky, tlačítka, odstavce, bloky atd.

    .dblclick()
    Událost se spustí, když dvakrát kliknete a uvolníte tlačítko myši, například otevřete složku na ploše.

    .mousedown()
    K události dojde při stisknutí tlačítka myši, například při přetahování položek.

    .mousemove()
    Událost se spustí, když přesunete ukazatel myši po stránce.

    .mouseout()
    Událost se spustí, když přesunete ukazatel myši pryč od prvku.

    .mouseover()
    Událost se spustí, když najedete na prvek (podobně jako při použití pseudotřídy :hover).

    .mouseup()
    Událost se spustí, když uvolníte tlačítko myši.

    2. Události dokumentu/okna

    .zatížení()
    Událost se spustí, když prohlížeč načte všechny soubory webové stránky: soubory html, externí soubory css a javascript, mediální soubory. To může být nepohodlné, pokud webová stránka obsahuje velké množství souborů. K vyřešení tohoto problému můžete použít funkci ready(), která spouští skripty ihned po načtení html kódu.

    .resize()
    Událost se spustí, když změníte velikost okna prohlížeče.

    .svitek()
    Událost se spustí, když použijete posuvníky nebo rolujete webovou stránku pomocí kolečka myši nebo k tomuto účelu použijete klávesy na klávesnici (pg up, pg dn, home, end).

    .vyložit()
    Událost se spustí, když se chystáte opustit stránku, kliknutím na odkaz přejdete na jinou stránku nebo zavřete kartu stránky nebo okno prohlížeče.

    3. Formální události

    .rozmazat()
    Událost se spustí, když pole formuláře zmizí, tj. zadali jste data do pole formuláře a přešli na jiné.

    .přeměna()
    Událost se spustí, když se změní stav pole formuláře, například když je položka vybrána z rozevírací nabídky.

    .soustředit()
    Událost se spustí, když přejdete na pole formuláře kliknutím na tlačítko myši nebo pomocí klávesy tabulátor.

    .reset()
    Událost umožňuje vrátit formulář do původního stavu a tím zrušit provedené změny.

    .vybrat()
    Událost se spustí, když vyberete text uvnitř textového pole formuláře.

    .předložit()
    Událost se spustí, když odešlete vyplněný formulář kliknutím na tlačítko Odeslat nebo stisknutím klávesy Enter, když je kurzor umístěn v textovém poli.

    4. Události klávesnice

    .keydown()
    Událost se spustí při stisknutí klávesy před událostí stisku klávesy.

    .keypress()
    Událost se spustí, když stisknete klávesu, dokud klávesu neuvolníte.

    .keyup()
    Událost se spustí, když uvolníte klávesu.

    5. Události jQuery

    .vznášet se()
    Tato funkce funguje jako událost, která umožňuje současně řešit dva problémy spojené s událostí najetí myší a událostí vypnutí myši pro vybraný objekt. Základní funkční struktura:
    $("#selektor").hover(funkce1, funkce2);

    .toggle()
    Událost funguje podobně jako událost hover() s tím rozdílem, že událost se spouští kliknutím myši. Můžete například otevřít rozbalovací nabídku jedním kliknutím a skrýt ji druhým.

    6. Objekt události

    Když je spuštěna událost, prohlížeč o ní uloží informace do objektu události. Objekt události obsahuje data shromážděná v době, kdy k události došlo. Událost je zpracována pomocí funkce a objekt je předán funkci jako argument – ​​proměnná evt (jako název proměnné můžete také použít event nebo jednoduše e). Chcete-li získat přístup k argumentu, musíte k funkci připojit název parametru. V rámci dané funkce můžete přistupovat k různým vlastnostem pomocí syntaxe teček. Při volání funkce se objekt události uloží do proměnné evt.
    Objekt události má různé vlastnosti, ty nejběžnější jsou popsány v tabulce níže.

    Tabulka 1. Vlastnosti objektu události Popis nemovitosti
    stranaX Vzdálenost (px) od ukazatele myši k levému okraji okna prohlížeče
    stranaY Vzdálenost (px) od ukazatele myši k hornímu okraji okna prohlížeče
    screenX Vzdálenost (px) od ukazatele myši k levému okraji monitoru
    obrazovkaY Vzdálenost (px) od ukazatele myši k hornímu okraji monitoru
    shiftKey TRUE, pokud byla při výskytu události stisknuta klávesa SHIFT
    který Používá se k určení číselného kódu stisknuté klávesy (spolu s shiftKey)
    cíl Označuje, že na objekt události bylo kliknuto (například pro událost click())
    data Objekt používaný s funkcí bind() k předání dat funkci, která událost řídí

    Hezký den, zvědaví odběratelé a hosté blogu. Dnes vás provedeme užitečnou sekcí ve skriptovacím jazyce založeném na prototypech, konkrétně událostí JavaScript mouseover.

    Chci, abyste dobře rozuměli událostem, jako je klikání, zvedání myší, spouštění myší, přejetí myší a další, abyste pochopili rozdíl mezi nimi a naučili se je používat k řešení vašich problémů. Samozřejmě po každém klíčovém teoretickém materiálu najdete softwarové implementace příkladů. No, pojďme začít!

    Všechny informace o událostech myši

    Pro myš existuje několik událostí, které zcela pokrývají všechny možné akce kurzoru na stránce. Mezi nimi jsou ty, které se spouštějí, když kliknete na objekt, ukážete na něj nebo přesunete ukazatel nad otevřené okno. Všechny lze rozdělit do dvou skupin: jednoduché a složité (složené) události.

    Začněme jednoduše

    Nejprve se seznámíme s jednoduchými událostmi. Je jich jen pět. Pro usnadnění jsem v níže přiložené tabulce zahrnul popis každého nástroje.

    Jméno Popis
    pohyb myši Pojmenovaná událost je volána, když je jedno z tlačítek myši stisknuto, ale ještě není uvolněno.
    mouseup A toto funguje, když uvolníte dříve stisknuté tlačítko.
    přejetí myší Volá se, když je kurzor umístěn nad zpracovávaným objektem.
    mouseout Zvládá akci kurzoru opouštějícího oblast prvku.
    pohyb myši Jakýkoli pohyb ukazatele nad určitou oblastí spustí aktuální událost.

    No, nyní, abychom konsolidovali materiál, podívejme se na příklad. Vytvořil jsem malý program, ve kterém se emoce smajlíka mění při najetí a oddálení kurzoru.

    Najeďte myší na obrázek a změní se. Nyní to vezměte stranou a sledujte funkci změn ChangeOver(x) ( x.src= "http://storage2.vsemayki.ru/images/0/0/514/514012/previews/sign_front_white_500.jpg"; ); function ChangeOut(x) ( x.src= "http://storage2.vsemayki.ru/images/0/0/514/514102/previews/sign_front_white_500.jpg"; )

    Je čas se seskupit

    Nyní přejdeme ke komplexním pohledům. Každá z těchto událostí obsahuje několik jednoduchých. V tomto případě se všechny součásti komplexní události nespouštějí současně, ale jsou seřazeny ve frontě. Mohli jste proto někdy pozorovat takovou situaci, že když rychle kliknete například na položky nabídky webu, kliky někdy nefungují.

    proč tomu tak je? Odpověď je celkem jednoduchá.

    Události jsou zpracovávány určitou maximální povolenou rychlostí. A nezapomeňte, že události se zpracovávají jedna po druhé. To znamená, že pokud kliknete na různé prvky příliš rychle, proces zpracování nemusí být zcela dokončen.

    Níže jsou tedy události komponent.

    Jak již víte, složité události poněkud usnadňují život vývojářů tím, že okamžitě zahrnují sadu nezbytných jednoduchých událostí. Výsledkem je, že si dnes nikdo nedokáže představit obvyklé zpracování tlačítek nebo jiných prvků bez stejného kliknutí.

    Pro praktické seznámení s fungováním výše uvedených akcí jsem upravil předchozí aplikaci. Analyzujte výsledek mé práce.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Příklad najetí myší na prvek stránky

    Příklad najetí myší na prvek stránky Klikněte na mě jednou a smajlík se usměje! Nyní na mě dvakrát klikněte a smajlík se začne pohybovat! Pokud se chcete vrátit do výchozího stavu, klikněte na mě pravým tlačítkem!

    funkce Smile() ( document.getElementById("pic").src= "http://storage2.vsemayki.ru/images/0/0/514/514012/previews/sign_front_white_500.jpg"; ); funkce Cry() ( document.getElementById("pic").src= "http://storage2.vsemayki.ru/images/0/0/514/514102/previews/sign_front_white_500.jpg";); funkce Move() ( document.getElementById("pic").src= "https://otvet.imgsmail.ru/download/197747824_e708b2123d2b2d745d271f15cb144dcc_800.gif"; );

    Jak vidíte, vše je velmi jednoduché. Tyto prvky lze snadno volat v kódu a vázat je na konkrétní akce.

    Veškeré uživatelské akce při interakci s aplikací jsou redukovány na pohyb myši, mačkání tlačítek myši a mačkání kláves na klávesnici. Uvažujme, jak aplikace zpracovává události spojené s těmito uživatelskými manipulacemi.

    Události myši Posloupnost událostí

    Komponenty Delphi definují řadu událostí myši. Jedná se o tyto události:

    OnClick Kliknutí myší na komponentu a nějakou další akci uživatele.

    OnDblClick Dvakrát klikněte myší na komponentu.

    OnMouseDown Stisknutí tlačítka myši nad komponentou. Je možné rozpoznat stisknuté tlačítko a souřadnice kurzoru myši

    OnMouseMove Přesune kurzor myši nad komponentu. Je možné rozpoznat stisknuté tlačítko a souřadnice kurzoru myši.

    OnMouseUpUvolnění dříve stisknutého tlačítka myši nad komponentou. Je možné rozpoznat stisknuté tlačítko a souřadnice kurzoru myši

    OnStartDrag Spustí proces přetažení objektu. Rozpoznání taženého objektu je možné.

    OnDragOver Přesune přetažený objekt přes komponentu. Je možné rozpoznat tažený objekt a souřadnice kurzoru myši.

    OnDragDropUvolnění dříve stisknutého tlačítka myši po přetažení objektu Je možné rozpoznat tažený objekt a souřadnice kurzoru myši.

    OnEndDragDalší událost, kdy se po přetažení objektu uvolní dříve stisknuté tlačítko myši. Je možné rozpoznat tažený objekt a souřadnice kurzoru myši.

    Událost OnEnter, když prvek získá fokus v důsledku manipulace myší, stisknutí klávesy tabulátoru nebo programového přenosu fokusu.

    Událost OnExit, když prvek ztratí fokus v důsledku manipulace myší, stisknutí klávesy Tab nebo programového přenesení fokusu

    OnMouseWheelUpOtočte kolečkem myši nahoru. Nastane, pokud není rotace zpracována událostí OnMouseWheel. Od Delphi 5.

    OnMouseWheelDown Otočte kolečkem myši dolů. Nastane, pokud není rotace zpracována událostí OnMouseWheel. Od Delphi 5.

    Jak vidíte, tyto události pokrývají všechny myslitelné manipulace s myší a mnohé z nich dokonce duplikují. Nejpoužívanější událostí je OnClick. Obvykle k němu dochází, pokud uživatel kliknul na komponentu, tzn. stiskl a uvolnil tlačítko myši, když byl ukazatel myši na součásti. K této události však dochází také během některých dalších uživatelských akcí. Nastane, pokud:

    Uživatel vybral položku v mřížce, stromu, seznamu, rozevíracím seznamu stisknutím klávesy se šipkou.

    Uživatel stiskl mezerník, když bylo tlačítko nebo indikátor zaostřený.

    Uživatel stiskl klávesu Enter a aktivní formulář má výchozí tlačítko určené vlastností Výchozí.

    Uživatel stiskl klávesu Esc a aktivní formulář má tlačítko pro přerušení označené vlastností Storno.

    Uživatel stiskl klávesové zkratky tlačítka nebo indikátoru. Pokud je například vlastnost Caption indikátoru napsána jako „&Tučné“ a znak „P“ je podtržený, pak stisknutí kombinace kláves Alt-P uživatelem spustí událost OnClick v tomto indikátoru.

    Aplikace nastavila vlastnost Checked RadioButton na hodnotu true.

    Aplikace změnila vlastnost Checked indikátoru CheckBox.

    Je volána metoda Click položky nabídky.

    U formuláře se událost OnClick objeví, pokud uživatel klikne na prázdnou oblast formuláře nebo na nepřístupnou komponentu.

    Množství událostí spojených s myší, stejně jako skutečná duplikace některých z nich, vyžadují jasné pochopení sledu jednotlivých událostí, ke kterým dochází během konkrétní uživatelské akce. Podívejme se na tyto sekvence.

    V okamžiku spuštění aplikace se z událostí, které zvažujeme, vyskytuje pouze událost OnEnter v komponentě, na kterou je fokus přenesen. Tato událost není spojena s žádnou akcí uživatele, takže se jí nebudeme zabývat.

    Nyní se podívejme na nejjednodušší akci uživatele: pomocí myši přepnout fokus z jednoho prvku na druhý. Sled událostí v tomto případě je uveden v tabulce. 1.

    Tabulka 1. Sekvence událostí myši při přepínání fokusu

    Akce uživatele

    Přesuňte kurzor myši v rámci první komponenty

    Více událostí OnMouseMove v první komponentě

    Přesouvání kurzoru myši ve formuláři

    Více událostí OnMouseMove ve formuláři

    Přesunutí kurzoru myši v rámci druhé komponenty

    Více událostí OnMouseMove ve druhé komponentě

    Kliknutím na tlačítko myši

    OnExit v první komponentě

    OnEnter ve druhé komponentě

    OnMouseDown ve druhé komponentě

    Uvolněte tlačítko myši

    OnClick ve druhé komponentě

    OnMouseUp ve druhé komponentě

    Události OnMouseMove se vyskytují neustále, když se kurzor myši pohybuje, a dokonce i když se třese, což je nevyhnutelné, pokud uživatel nesundá ruce z myši. To je třeba vzít v úvahu a tuto událost používat velmi opatrně, protože na rozdíl od jiných se vyskytuje mnohokrát.

    Jak je vidět z výše uvedené tabulky, každá uživatelská akce spojená se stisknutím nebo uvolněním tlačítka myši vede k řadě po sobě jdoucích událostí. V obslužných programech událostí OnMouseDown a OnMouseUp můžete rozpoznat, které tlačítko myši je stisknuto a kde se na komponentě aktuálně nachází kurzor myši.

    Zvažováno v tabulce. 1 sekvence událostí nastane, pokud je vlastnost DragMode druhé komponenty nastavena na dmManual (ruční spuštění procesu přetažení), jak je nastaveno ve výchozím nastavení. Pokud je tato vlastnost rovna dmAutomatic (automaticky spustí proces přetažení), pak jsou všechny uvažované události spojené s manipulací myší nahrazeny následujícími:

    ОnMouseDоwn nahrazeno OnStartDrag

    Pokud stisknete tlačítko a posunete kurzor myši, pak

    OnMouseMove Nahrazeno událostí OnDragOver komponenty, nad kterou se pohybuje kurzor myši

    OnMouseUp Nahrazeno událostí OnDragDrop komponenty, která je přetahována (pokud komponenta může přijímat informace z přetahovaného objektu), a následnou událostí OnEndDrag komponenty, která byla přetahována.

    Události OnExit a OnEnter se vůbec nevyskytují, protože nedojde k přepnutí fokusu. Událost OnClick také nenastane.

    Pokud v příkladu uvedeném v tabulce 1 dojde ke kliknutí na objekt, který je v daném okamžiku již zaostřený, pak se události OnExit a OnEnter nevyskytují. V tomto případě při stisknutí tlačítka dojde pouze k události OnMouseDown a po uvolnění tlačítka k událostem OnCli ck a OnMouseUp.

    Nyní zvažte posloupnost událostí, když dvakrát kliknete na komponentu. Je to uvedeno v tabulce. 2. Stále je možné rozpoznat stisknuté tlačítko myši pouze v událostech OnMouseDown a OnMouseUp. Pokud potřebujete rozpoznat dvojité kliknutí konkrétního tlačítka myši, můžete například zadat určitou proměnnou, která je příznakem dvojitého kliknutí, nastavit tento příznak v obsluze události OnDblClic k a v události OnMouseDown nebo OnMouseUp handlery kontrolují tento příznak a pokud je nastaven, pak jej resetují a provádějí plánované akce.

    Tabulka 2. Posloupnost událostí myši při poklepání na komponentu

    Akce uživatele

    První kliknutí myší

    OnMouseDown.

    Je možné rozpoznat stisknuté tlačítko a souřadnice kurzoru myši.

    První uvolnění tlačítka myši

    Druhé kliknutí myší

    OnMouseDown. Je možné rozpoznat stisknuté tlačítko a souřadnice kurzoru myši.

    Druhé uvolnění tlačítka myši



    
    Přejděte na začátek