Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Menyja e kontekstit në Firefox. Krijimi i një strukture bazë

Një menu e personalizuar e kontekstit përdoret rrallë në një ndërfaqe ueb faqeje. Në fund të fundit, nuk është aspak e qartë për përdoruesin që në ndonjë element është e nevojshme të klikoni jo me të majtën, por me butonin e djathtë të miut dhe të zgjidhni një artikull nga lista. Për më tepër, jo të gjithë vizitorët e faqes pëlqejnë të përdorin butonin e djathtë të miut, dhe telefonat inteligjentë nuk e kanë fare atë, vetëm imitim. Pavarësisht nga këto veçori në HTML5, është e mundur të krijoni menytë tuaja të kontekstit, kjo deri më tani zbatohet vetëm në Firefox, dhe kjo është shumë e veçantë.

Së pari, le të shohim se si janë krijuar ato në përgjithësi. menu të ndryshme... Për këtë, përdoret një kombinim i etiketave

dhe (shembulli 1).

Shembull 1. Menyja e kontekstit

HTML5 IE Cr Op Sa Fx

Menyja e kontekstit

Atributi i menusë kontekstuale na tregon se menyja jonë është kontekstuale dhe në të njëjtën kohë tregon etiketën

me një identifikues të dhënë (në në këtë rast redakto). Deri më tani, asnjë shfletues nuk e kupton shembullin e mësipërm, përfshirë Firefox-in. Për të, në vend të etiketës duhet të futet një etiketë e personalizuar (shembulli 2).

Shembulli 2. Menytë në Firefox

HTML5 IE Cr Op Sa Fx

Menyja e kontekstit

Kodi doli të ishte i pavlefshëm, por kur klikoni mbi foton në Firefox, ai shfaqet menu e bukur(fig. 1).

Oriz. 1. Menyja e kontekstit

Ndërsa kjo menu nuk funksionon rruga e duhur kështu që le ta ribëjmë. Së pari, le të shtojmë një ikonë pranë artikullit të menusë duke përdorur atributin ikonës, në mënyrë që menyja të duket më e bukur. Vlera specifikon rrugën relative ose absolute të skedarit grafik. Pastaj duhet të siguroheni që kur klikoni në një artikull të menysë, të ndodhë ndonjë veprim. Për ta bërë këtë, ne do të përdorim ngjarjen onclick dhe me ndihmën e saj do të telefonojmë funksionin e dëshiruar... Shembulli 3 tregon krijimin menyja e kontekstit për tekstin, nëse zgjidhni "Ndrysho" në të, atëherë teksti mund të redaktohet. Në fakt, përdoret një fushë teksti e fshehur, e cila bëhet e dukshme kur thirret funksioni edit () ndërsa vetë teksti fshihet për kohëzgjatjen e redaktimit. Pas shtypjes Enter, teksti nga formulari futet në vend paragrafi i tekstit, duke lënë përshtypjen se ishte ai që ne sunduam. Formulari, pas përfundimit të redaktimit, fshihet përsëri.

Shembulli 3. Redaktimi i tekstit

HTML5 IE Cr Op Sa Fx

Menyja e kontekstit

Shembull teksti

Menuja e re është paraqitur në Fig. 2.

Oriz. 2. Menu me ikonë

Siç mund ta shihni nga shembulli, krijimi i një menuje konteksti nuk ndryshon nga krijimi i elementeve të tjerë ndërveprues. Kur klikojmë në një artikull të menysë, funksioni ynë thirret duke përdorur mbajtësin onclick, dhe më pas ky funksion do të bëjë atë që duam. Firefox 8 ishte shfletuesi i parë që mbështeti menutë e kontekstit HTML5, por është e habitshme pse Zhvilluesit e Firefox-it prezantuan etiketën e tyre të personalizuar për menunë ... Ekzistojnë disa skenarë të mundshëm për zhvillimin e ngjarjeve:

  • etiketë do t'i shtohet specifikimit HTML5;
  • kjo etiketë do të bëhet e vjetëruar dhe nuk do të mbështetet në versionet e ardhshme të Firefox-it;

E tëra që mbetet është të presësh për një përgjigje nga shfletuesit e tjerë në të cilët etiketa më në fund do të implementohet, si dhe menutë e ndryshme të bazuara në të.

udhëzime

Nëse shfletuesi nuk shfaqet menu, dhe ju shihni në ekran vetëm faqen e zgjedhur të Internetit, që do të thotë se shfletuesi juaj është duke punuar modaliteti i ekranit të plotë... Ka disa mënyra për të dalë prej saj.

Nëse në dropdown menu nuk ka asnjë komandë të dhënë, përdorni kombinimin e tasteve Alt dhe Enter, i cili ju lejon të shkoni andej këndej në shumë programe. Gjithashtu në të ndryshme shfletuesit Ndryshimi i modalitetit kryhet duke përdorur tastin F11.

Kur paneli ndalon së fshehuri pas skajit të sipërm të ekranit, lëvizni kursorin tek ai dhe kliko me të djathtën. Vendosur në kontekst menu shënuesi përballë artikullit "Paneli menu"Ose" String menu»(Formulimi varet nga cili shfletues është instaluar).

Pas këtë veprim dritarja e shfletuesit duhet të shfaqë standardin për menu pikë. Artikulli "File" ju lejon të menaxhoni dritaren e programit, hapni dhe mbyllni dritare dhe skeda të reja, dërgoni faqe në internet për printim.

Artikulli "Redakto" përmban komandat standarde "Copy", "Cut", "Paste", "Find" dhe nuk është shumë i ndryshëm nga paragraf i ngjashëm në çdo program tjetër. Per pamjen dritarja e shfletuesit korrespondon me artikullin "Shiko".

Qasja në burimet e ruajtura nga përdoruesi kryhet duke përdorur artikullin "Të preferuarat" ose "Faqeshënuesit", menu"Shërbimi" ose "Mjetet" ju lejon të personalizoni shfletuesin në përputhje me nevojat tuaja.

Gjithashtu në panel menu mund të ketë mjete të tjera, si shiriti i statusit, shiriti i të preferuarave, shiriti i navigimit. Për të personalizuar ekranin e tyre, lëvizni gjithashtu kursorin në panel, klikoni me të djathtën mbi të dhe zgjidhni në kontekst menu artikujt e dëshiruar, duke i shënuar me një shënues.

Burimet:

  • ku është shfletuesi

Numri i grupeve që luajnë muzikë të të gjitha drejtimeve nga xhazi në rap-core mund të gjykohet duke vizituar një klub. Deri në dy duzina dalin në skenë çdo mbrëmje. Për t'u dalluar në sfondin e kësaj morie, nuk mjafton të luash muzikë të mirë - duhet të investosh para në promovimin tënd. Nëse skuadra nuk është gati të ndahet me një shumë të madhe, ata duhet të kërkojnë ndihmë nga ana.

udhëzime

Sponsorët priren të bashkëpunojnë me grupe që janë tashmë të suksesshme. Prandaj, para jush, fitoni një audiencë mjaft të madhe dhe të qëndrueshme. Për këtë, përveç muzikës, kujdesuni për skenografinë, efektet speciale, ndërveprimin e muzikantëve në skenë, bëni çdo shfaqje paksa të re.

Listoni organizatat e vendosura në zonën ose zonën tuaj, aktivitetet e të cilave lidhen drejtpërdrejt ose tërthorazi me muzikën. Në një listë tjetër, rendisni pjesën tjetër të organizatave që nuk kanë lidhje me ju. Ndihma mund të vijë nga çdo drejtim, por filloni me listën e parë.

Studimi opsionet e mundshme... Përpara se të kontaktoni ndonjë organizatë, kontrolloni nëse është e sponsorizuar dhe në cilën zonë; nëse muzikantë të tjerë e kontaktuan atë dhe nëse ajo ishte refuzuar. Edhe nëse jeni vetvetja, studioni biznesin e tij përpara se të merrni ndonjë vendim.

Për një kohë do të bëheni fytyra e organizatës. Prandaj, kur merrni parasysh kandidaturën tuaj, sponsori do të jetë shumë i kujdesshëm për pamjen tuaj. Nëse nuk jeni gati të ndryshoni imazhin tuaj për hir të konformitetit, mos llogarisni në pëlqimin. Si rregull, një sponsor i mundshëm nuk insiston në një ndryshim të tillë, por thjesht refuzon. Nëse nuk merrni parasysh kriterin e paraqitjes, atëherë do të humbni kohë dhe, ndoshta, mundësinë për t'u takuar me një sponsor të vërtetë.

Mos negocioni për asgjë. Të gjitha kushtet duhet të specifikohen në kontratë. Diskutoni çdo pikë me një avokat. Nëse diçka nuk ju përshtatet, mos u turpëroni për këtë. Është më mirë të zbuloni të gjitha pikat e diskutueshme tani sesa të kafshoni bërrylat tuaja më vonë për shkak të pavëmendjes suaj.

Video të ngjashme

Revista Favorites është e nevojshme për të mos kërkuar ato burime të cilave përdoruesi shpesh i referohet puna e përditshme... Ajo siguron akses i shpejtë ndaj materialeve të kërkuara. Ka disa hapa që duhet të ndërmerrni për të gjetur të preferuarat tuaja.

udhëzime

"Të preferuarat" ekzistojnë jo vetëm në shfletues, por ofrohen edhe në menynë e çdo dosjeje të ruajtur në kompjuter. Meqenëse shiriti i menusë është gjithmonë i pranishëm në dosje, nuk keni nevojë të konfiguroni asgjë më tej. Hapni dosjen, zgjidhni artikullin "Të preferuarat" në meny, duke klikuar mbi të me butonin e majtë të miut, do të hapet menyja e kontekstit. Për të vendosur ndonjë dosje në listë, zgjidhni komandën "Shto në të preferuarat" duke klikuar mbi të me butonin e majtë të miut. Dosja e zgjedhur do të shfaqet në meny.

Kur punoni me shfletues të internetit, mund t'ju duhet të personalizoni shfaqjen e shiritit të menysë, ose buton i dedikuar, me të cilën do të keni akses në revistën "Favoritet". Për ta bërë këtë, në Internet Explorer, kliko me të djathtën në panel, në menynë e kontekstit, zgjidhni një nga opsionet e disponueshme... Vendosni shënuesin përballë artikullit "shiriti i menysë" - në këtë mënyrë mund të hapni "Të preferuarat" në të njëjtën mënyrë siç përshkruhet në hapin e parë.

Nëse dëshironi që faqerojtësit të shfaqen në panelin e shfletuesit, zgjidhni artikullin "Favorites Shirit" në menunë e kontekstit, duke e shënuar gjithashtu me një shënues. Një tjetër shirit veglash shtohet në dritaren e shfletuesit. Nëse mendoni se po zë shumë hapësirë, mund të hyni shpejt burimet e duhura dhe në një mënyrë tjetër. Klikoni në ikonën e yllit në shiritin e veglave, regjistri do të zgjerohet. Zgjidhni skedën "Të preferuarat" në të për të parë listën e adresave të faqeve të ruajtura në histori.

Në shfletuesin Mozilla Firefox ditari me listën e burimeve quhet "Bookmarks". Mund ta telefononi përmes artikullit me të njëjtin emër në linjë e sipërme menu duke personalizuar shfaqjen e Favoriteteve në shiritin e veglave ose duke hapur revistën Biblioteka. Ky regjistër mund të thirret në disa mënyra: zgjidhni "Bookmarks" në shiritin e menusë dhe komandën "Shfaq të gjithë faqeshënuesit" ose shtypni kombinimin tastet Ctrl, Shift dhe B. Ditari do të hapet në dritare e veçantë.

Një dritare e shfletuesit është një formë e ndërfaqes grafike që përdoret kur një përdorues përdor internetin. Në të njëjtën kohë, dritarja e shfletuesit mori këtë emër për faktin se ajo, si një dritare e zakonshme, ka një formë drejtkëndore.

Shfletuesi

Vetë fjala "shfletues" erdhi në rusisht nga anglishtja, në të cilën folja "shfletoni" do të thotë "për të parë". Kështu, sot në fushën e teknologjive të internetit përdoret fjala "shfletues". program të veçantë, i cili është krijuar për të parë informacionin në internet.

Sot ky segment i tregut po zgjerohet vazhdimisht, kështu që përdoruesit kanë mundësinë të zgjedhin nga disa pak a shumë shfletues të njohur në varësi të funksioneve dhe aftësive të disponueshme në secilin prej programeve, ato duken të jenë më të përshtatshme. Pra, një nga shfletuesit më të përdorur për një kohë të gjatë është "Internet Explorer", i cili për një periudhë të gjatë ishte lider në popullaritet në mesin e përdoruesve, por disa të tjerë po pretendojnë sot pozicionin e tij. programe të përshtatshme, për shembull "Mozilla Firefox", "Opera", " Google Chrome" dhe të tjerët.

Dritaret e shfletuesit

Si rregull, zgjedhja e një ose një shfletuesi tjetër bazohet në funksionet që i ofron përdoruesit, si dhe në komoditetin e ndërfaqes së tij, domethënë organizimin grafik të faqes, për një person specifik kush planifikon ta instalojë. Sipas këtyre parametrave, shfletuesit e listuar kanë dallime mjaft të dukshme, megjithatë, ka një numër parametrash të ndërfaqes që janë të njëjta për të gjitha programet e tilla.

Një nga këto parametra është forma e dhënies së informacionit nga faqja e internetit. Në të gjithë shfletuesit ekzistues sot, ai paraqitet në formën e një të ashtuquajture dritare - një fushë drejtkëndore në të cilën shfaqet teksti, fotografitë, videot ose informacione të tjera. Dritarja e shfletuesit mund të zgjerohet në Ekran i plotë, domethënë, mbushni të gjithë hapësirën e monitorit me të, ose përdorni formën e kondensuar të paraqitjes së dritares duke klikuar mbi simbolin në formën e dy katrorëve në të djathtë. këndi i sipërm ekran. Përveç kësaj, një dritare që nuk ju nevojitet më mund të mbyllet duke klikuar mbi simbolin në formë kryqi, ose të minimizohet, domethënë të hiqet përkohësisht nga fusha e shikimit duke klikuar në simbolin në formë vize.

Çdo dritare e shfletuesit mund të hapë një ose më shumë skeda shtesë për të hyrë në disa faqe interneti në të njëjtën kohë. Kjo mund të bëhet duke lëvizur kursorin e miut në pjesa e sipërme ekran. Në disa shfletues kjo veçori shfaqet si një simbol plus, ndërsa në të tjerë shfaqet si një fushë e vogël e lirë pranë emrit të një faqeje tashmë të hapur. Per te mbyllur skedë e veçantë, duhet gjithashtu të klikoni mbi simbolin kryq - atë në anën e djathtë të skedës.

Elementet kryesore të dritares në çdo shfletues janë shiriti i adresave dhe fusha kryesore për shfaqjen e informacionit. Shiriti i adresave shfaqet në krye të dritares së shfletuesit. Zakonisht fillon me karakteret "www" ose "http: //" dhe është një kod alfabetik që do t'ju çojë në faqen që dëshironi. Aktualisht, adresat e faqeve në Internet që flet rusisht mund të shtypen me shkronja latine dhe cirilike. Në fushën kryesore, ju mund të shihni më së shumti tekste të ndryshme, foto, video dhe informacione të tjera, përbërja e të cilave varet nga përmbajtja e faqes që po shikoni.

Burimet:

  • Çfarë është një shfletues ueb, dritarja e shfletuesit dhe shiriti i adresave?

Në këtë tutorial, ne do t'i hedhim një vështrim më të afërt funksioneve në një shumë çelës i dobishëm e cila është e disponueshme në çdo tastierë. Ky çelës quhet "Testi i menysë së kontekstit". Ndodhet në pjesën e poshtme të djathtë të tastierës ndërmjet tastet ALT dhe CTRL



Shtypja e këtij tasti do të hapë MENU-NË KONTEKSTI, saktësisht njësoj sikur të kishit shtypur butonin Djathtas të miut.

Truku i këtij butoni është se menyja e thirrur kur e shtypni do të shfaqë funksionet (artikujt e menysë) që mund të aplikohen në programin aktual, v dritare aktive, në desktopin tuaj, etj. ato. kjo meny përshtatet me procesin në të cilin jeni duke punuar drejtpërdrejt dhe është shumë i përshtatshëm.

Tani le të hedhim një vështrim më të afërt në opsionet kryesore për shfaqjen e menysë së kontekstit në mjedise të ndryshme dhe funksionet që mund të kryhen duke përdorur këtë meny.



Kur shtypni butonin Djathtas të miut ose tastin "Menyja e kontekstit" në desktop desktop i Windows 7 një menu shfaqet si më poshtë:



1. Në krye të menysë - vendosja e parametrave të kartës suaj video.
2. Pamje - personalizoni shfaqjen e ikonave në desktop




3. Renditja - vendosja e renditjes duke shfaqur ikonat në desktop




4. Refresh - Rifreskon shfaqjen e përmbajtjes në Desktop.
5. Paste - nëse keni kopjuar diçka, mund ta ngjitni në Desktop.
6. Krijo. Këtu mund të krijoni në Desktop: dosje, shkurtore, dokument teksti, arkiv, dokumente MS Office - Word, Excel, PowerPoint, etj. (nëse janë të instaluara)




7. Rezolucioni i ekranit. Këtu mund të vendosni cilësimet e kërkuara të ekranit: zgjidhni një ekran (mund të ketë disa prej tyre), zbuloni ose vendosni rezolucionin e ekranit, përcaktoni orientimin e ekranit dhe gjithashtu konfiguroni parametra të tjerë për të punuar me ekranin, për shembull, lidhni një projektor.



8. Gadgets - përzgjedhja dhe instalimi Veglat e Windows 7. Windows XP nuk e ka këtë funksion.




9. Personalizimi. Këtu mund të personalizoni pamjen e Desktopit, të ndryshoni sfondin, spërkatjen e ekranit, tingujt, temën, ngjyrën e dritares, etj.





Kur shtypni butonin e Djathtë të miut ose butonin "Menyja e Konteksit" në një skedar në Explorer ose në ndonjë tjetër menaxher skedari menuja gjithashtu përshtatet me skedarin të një lloji të caktuar... Për shembull, klikova në një skedar video. Menyja e mëposhtme është hapur:




Në këtë rast, menyja ofron funksione që korrespondojnë saktësisht me skedarin e videos, përkatësisht: luaj, shto në listën e luajtësit që është zgjedhur si parazgjedhje për të këtij lloji dosje. Dhe një numër funksionesh standarde: hapni me, shtoni në arkiv (nëse arkivuesi është i instaluar), dërgoni, preni, kopjoni, fshini, riemërtoni dhe veçoritë e skedarit.

Nëse klikoni butonin Djathtas të miut ose butonin "Menyja e kontekstit". skedar grafik, më pas do të hapet një meny, e cila do të korrespondojë me llojin e skedarit grafik:




Këtu mund të hapni, modifikoni ose printoni menjëherë skedarin e zgjedhur në programin e paracaktuar të imazhit. Në rastin tim, ky është programi ACDSee.

Këtu mund të bëni menjëherë skedarin e zgjedhur imazhi i sfondit për Desktopin, është shumë i përshtatshëm kur zgjidhni listë e madhe... Dhe pastaj ka përsëri funksione standarde për të punuar me skedarë.

Do të ndalem më në detaje në artikujt "Hap me" dhe "Dërgo".

Pse funksioni "Open With" është i dobishëm




Këtu mund të zgjidhni ose caktoni cilindo që të punojë me skedarin e zgjedhur programi i instaluar që kupton formatin e skedarit të zgjedhur. Në këtë rast, klikova në skedarin e videos dhe disa programe mund të punojnë me këtë format në kompjuterin tim: Light Allow, WinAmp dhe sigurisht Windows Media Lojtar.

Nëse programi i kërkuar nuk është në listë, por e dini me siguri që është i instaluar, zgjidhni artikullin e menysë "Zgjidh programin". Windows do t'ju kërkojë të zgjidhni programe nga një listë e programeve të rekomanduara ose të tjera. Në Windows XP, kjo dritare duket pak më ndryshe, por kuptimi është i njëjtë.




Nëse dëshironi që formati i skedarit të përzgjedhur të hapet gjithmonë nga programi që zgjidhni, atëherë kontrolloni kutinë "Përdorni programin e zgjedhur për të gjithë skedarët e këtij lloji".

Nëse programi i kërkuar nuk është në listën e programeve të rekomanduara, ose në të tjera, por e dini me siguri që programi është i instaluar, atëherë klikoni butonin "Shfleto ..." dhe zgjidhni atë nga dosja ku është instaluar programi.

Pse është i dobishëm funksioni "Dërgo"?
Me këtë funksion, mund të dërgoni (transferoni, transferoni) skedarin e zgjedhur përmes BlueTooth (bluetooth), Skype, postë, në Desktop, në arkiv, për të shkruar në një disk CD / DVD, në një USB flash drive, kështu që fol etj.






Dhe këtu, gjithashtu, menyja përshtatet me situata të ndryshme, në varësi të vendit ku klikoni në faqen e internetit. Për shembull, nëse klikoni në lidhje, atëherë do të hapet menyja e mëposhtme:




Duke përdorur këtë meny, mund të hapni përmbajtjen e lidhjes në një skedë të re ose në një dritare të re, të shtoni lidhjen te faqeshënuesit, të dërgoni lidhjen, të kopjoni lidhjen, nëse lidhja është një skedar, atëherë mund ta ruani duke përdorur " Ruaj objektivin si ...". Nëse keni instaluar programe për shkarkim, mund të shkarkoni përmbajtjen e lidhjes me ndihmën e tyre.

Nëse klikoni butonin Djathtas të miut ose butonin "Menyja e kontekstit" në foto në faqen e internetit, atëherë do të hapet një menu me funksione të tjera:




Këtu mund ta kopjoni imazhin në clipboard dhe ta ngjisni, për shembull, në Dokument Word, mund ta ruani imazhin në kompjuterin tuaj duke përdorur "Ruaj imazhin si ...", dërgoni imazhin me postë, bëni imazhin e zgjedhur model sfondi desktop, gjeni informacione rreth imazhit (lloji, madhësia, emri i skedarit), etj.

Më lejoni të përmbledh. Në këtë mësim, ne shqyrtuam opsionet më të njohura për përdorimin e menysë së kontekstit, e cila thirret duke klikuar butonin Djathtas të miut ose duke shtypur tastin "Menyja e kontekstit" në tastierë.
Gjegjësisht:
1. Duke shtypur butonin e Djathtë të miut ose butonin "Menyja e Konteksit" në Desktopin e Windows

2. Shtypja e butonit Djathtas të mausit ose tastin "Menyja e kontekstit" në një skedar ose dosje në Explorer ose në ndonjë menaxher tjetër skedari.

3. Shtypja e butonit të Djathtë të mausit ose të butonit "Menyja e kontekstit" në çdo shfletues të internetit.

Thelbi këtë mësim në mënyrë që të mësoni se si të përdorni funksionet e dobishme të mjedisit specifik aktiv të kompjuterit tuaj. Në çdo mjedis, duke klikuar butonin Djathtas të miut ose duke klikuar në butonin "Menyja e kontekstit", do të merrni një listë. funksione të dobishme në dispozicion në ky moment koha në lidhje me objektin e zgjedhur.

  • Përkthimi
  • Tutorial

Ueb aplikacionet sot po bëhen një hap i ri në zhvillimin e uebit. Këto janë larg nga faqet e zakonshme të informacionit. Gmail dhe Dropbox janë shembuj të aplikacioneve të avancuara në ueb. Me rritjen e funksionalitetit, disponueshmërisë dhe dobisë së aplikacioneve në ueb, rritet edhe nevoja për të rritur efikasitetin e përdorimit të tyre. Ky tutorial do të mbulojë krijimin e një gjëje të tillë të dobishme si menyja juaj e kontekstit, dhe në veçanti:

  1. Le të kuptojmë se çfarë është menyja e kontekstit dhe pse ju nevojitet.
  2. Le të implementojmë menunë tonë të kontekstit duke përdorur JS dhe CSS.
  3. Le të prekim mangësitë dhe kufizimet e qasjes së përdorur për të ditur se cilat probleme mund të na paralajmërojnë kur e hedhim të gjithë këtë në prodhim.

Çfarë është menyja e kontekstit?

Sipas Wikipedia, një menu konteksti është një menu që shfaqet kur një përdorues ndërvepron me të ndërfaqe grafike(kur klikoni butonin e djathtë të miut). Menyja e kontekstit përmban një grup të kufizuar veprimet e mundshme që zakonisht shoqërohen me objektin e përzgjedhur.

Në kompjuterin tuaj, duke klikuar me të djathtën në desktop do të shfaqet një menu e kontekstit sistemi operativ... Nga këtu ju ndoshta mund të krijoni dosje e re, merrni disa informacione dhe bëni diçka tjetër. Menyja e kontekstit në shfletues ju lejon, për shembull, të merrni informacione rreth faqes, të shikoni burimet e saj, të ruani një imazh, të hapni një lidhje në një skedë të re, të punoni me kujtesën, etj. Për më tepër, grupi veprimet e disponueshme varet nga vendi ku keni klikuar, domethënë nga konteksti. Kjo është sjellja e paracaktuar e vendosur nga zhvilluesit e shfletuesit [ Dhe zgjerimet e saj].

Aplikacionet në ueb po fillojnë ngadalë të zëvendësojnë menutë standarde të kontekstit me të tyret. Gmail dhe Dropbox janë shembuj të shkëlqyer. Pyetja e vetme është se si të krijoni menunë tuaj të kontekstit? Në shfletues, klikimi me të djathtën aktivizon ngjarjen e menysë së kontekstit. Ne do të duhet të anashkalojmë sjelljen e paracaktuar dhe ta bëjmë atë në mënyrë që në vend të menu standarde konkluduar tonat. Nuk është aq e vështirë, por do ta kuptojmë hap pas hapi, kështu që do të dalë mjaft voluminoze. Për të filluar, le të krijojmë strukturën bazë të aplikacionit në mënyrë që shembulli i zhvilluar të mos jetë plotësisht jashtë kontaktit me realitetin.

Lista e detyrave

Le të imagjinojmë se po krijojmë një aplikacion që na lejon të mbajmë një listë detyrash. E kuptoj që ndoshta tashmë jeni tepër të lodhur nga të gjitha këto lista detyrash, por le të jetë. Faqja e aplikacionit përmban një listë të detyrave në pritje. Një grup tipik i veprimeve CRUD është i disponueshëm për secilën detyrë: merrni informacione për detyrën, shtoni një të re, modifikoni, fshini.

Një shembull i rezultatit është i disponueshëm në CodePen. Ju mund të shikoni atje menjëherë nëse jeni shumë dembel për të lexuar ose dëshironi të siguroheni që jeni vërtet të interesuar për lexim të mëtejshëm. Ndërkohë, le të zbresim në zhvillim hap pas hapi konceptuar. Unë do të përdor disa truke moderne CSS dhe do të krijoj një listë detyrash bazë bazuar në atributet e të dhënave. Unë do të përdor gjithashtu rivendosjen e stilit të Eric Meyer dhe do të rivendos veçorinë e madhësisë së kutisë për të gjithë elementët në kutinë e kufirit:
*, * :: përpara, * :: pas (madhësia e kutisë: kutia e kufirit;)
Unë nuk do të përdor prefikset CSS, por demonstrimi i CodePen përfshin një parashtesë automatike.

Krijimi i një strukture bazë

Le të hapim dokumentin tonë HTML, të shtojmë një kokë, një pjesë të përmbajtjes me një listë detyrash dhe një fund. Do të ndryshoj gjithashtu Font Awesome dhe fontin Roboto për ta bërë atë të duket pak më mirë. Çdo detyrë duhet të përmbajë një atribut data-id, i cili në realitet do të merret nga baza e të dhënave. Gjithashtu, çdo detyrë do të përmbajë një listë veprimesh. Këtu janë pjesët e rëndësishme të shënimit:
  • Shkoni në ushqimore

Nëse jeni duke përdorur CodePen, mund të aktivizoni prefiksin automatik dhe të aktivizoni rivendosjen e CSS në cilësimet. Përndryshe, do t'ju duhet të bëni gjithçka me dorë, nëse nuk e keni automatizuar ende këtë proces. Mos harroni se qëllimi ynë është të krijojmë një meny të kontekstit, kështu që asnjë trajtim veprimi nuk do të zbatohet. Tani le të shtojmë disa CSS të tjera:
/ * detyra * / .tasks (stili i listës: asnjë; diferenca: 0; mbushja: 0;) .detyrë (ekrani: flex; justify-content: space-mes; mbushja: 12px 0; kufiri-fund: solid 1px # dfdfdf;) .detyrë: fëmija i fundit (kufiri-poshtë: asnjë;)
Një grup i plotë stilesh (dhe gjithçka tjetër) është paraqitur në CodePen. Dhe këtu do të jenë pjesët më të rëndësishme të kodit, shënimit dhe paraqitjes. Por le të afrohemi më në fund me menunë tonë të kontekstit.

Skicimi i menysë sonë të kontekstit - shënimi

Thelbi i menusë sonë është i njëjtë si çdo menu tjetër - një listë e parregulluar e vendosur brenda një etikete navi. Çdo veprim do të paraqitet si një artikull në listë me një lidhje. Çdo lidhje është përgjegjëse për një veprim specifik. Siç e përmenda më herët, na duhen tre veprime në menunë e kontekstit:
  1. Shikoni detyrën.
  2. Redaktimi i një detyre.
  3. Fshirja e një detyre.
Vendosja në shënimin:

Nëse nuk keni idenë se ku ta vendosni këtë shënim, vendoseni përpara mbylljes etiketë e trupit... Para se të kalojmë në CSS, le të sqarojmë disa pika:
  1. Ne dëshirojmë që menyja e kontekstit të shfaqet aty ku është bërë klikimi i djathtë, domethënë ka nevojë për pozicionim absolut. Prandaj, nuk duhet ta vendosni shenjën e tij në një enë me pozicion relativ.
  2. Do të na duhen disa variabla ose atribute në mënyrë që të mund të përcaktojmë se cilës detyrë i përket veprimi i zgjedhur.
Tani për stilet.

Duke rregulluar menunë tonë - CSS

Nevoja është përmendur tashmë pozicionim absolut menunë e zhvilluar. Gjithashtu, le të vendosim veçorinë z-index në 10. Mbani në mend se aplikacioni juaj mund të kërkojë një vlerë të ndryshme. Këto nuk janë të gjitha stilet e mundshme, bukuritë e tjera shfaqen në demo, por ato tashmë varen nga nevojat tuaja dhe nuk kërkohen. Përpara se të kalojmë te JS, le ta bëjmë menunë të padukshme si parazgjedhje dhe të shtojmë klasë shtesë për ta shfaqur atë.
.context-menu (ekrani: asnjë; pozicioni: absolut; z-indeksi: 10;) .context-menu - aktiv (ekrani: bllok;)

Zgjerimi i menysë sonë të kontekstit - JavaScript

Le të fillojmë duke parë se si të regjistrojmë ngjarjen e menusë kontekstuale. Le të hapim funksionin vetë-ekzekutues dhe të kapim ngjarjen në të gjithë dokumentin. Ne gjithashtu do ta regjistrojmë ngjarjen në tastierë për të marrë disa informacione:
(funksioni () ("përdor strikte"; document.addEventListener ("contextmenu", funksioni (e) (console.log (e);));)) ();
Nëse hapni konsolën dhe klikoni me të djathtën diku, do të shihni se ngjarja shfaqet në të vërtetë atje. Këtu ka shumë informacione që mund t'i përdorim. Ne jemi veçanërisht të interesuar për koordinatat. Para se të anulojmë sjelljen e paracaktuar, le të kemi parasysh që kjo nuk duhet të bëhet në të gjithë dokumentin, por vetëm në artikujt në listën e detyrave. Duke pasur parasysh këtë, do t'ju duhet të kryeni hapat e mëposhtëm:
  1. Do t'ju duhet të kaloni nëpër të gjithë artikujt në listën e detyrave dhe të shtoni një mbajtës të ngjarjeve të menusë së kontekstit në secilin prej tyre.
  2. Le të anulojmë sjelljen e paracaktuar për çdo mbajtës.
  3. Ne do të regjistrojmë ngjarjen dhe elementin të cilit i përket konsolës.
Në përgjithësi, ne bëjmë diçka të tillë:
(funksioni () ("përdor strikte"; var taskItems = document.querySelectorAll (". detyrë"); për (var i = 0, len = taskItems.length; i< len; i++) { var taskItem = taskItems[i]; contextMenuListener(taskItem); } function contextMenuListener(el) { el.addEventListener("contextmenu", function(e) { console.log(e, el); }); } })();
Nëse shikoni në tastierë, mund të shihni se një ngjarje unike shfaqet sa herë që klikoni mbi një artikull nga lista e detyrave. Tani, përveç anulimit të sjelljes së paracaktuar, ne do të zbatojmë shfaqjen e menysë së kontekstit duke shtuar një klasë ndihmëse në të.

Por së pari, le të shtojmë një ID në menu për ta bërë më të lehtë kalimin përmes JS. Gjithashtu shtoni variabli i gjendjes menuState dhe dhe variabli me klasën aktive. Ne morëm tre variabla:
var menu = document.querySelector ("# menu-kontekst"); var menuGjendja = 0; var active = "meny-kontekst - aktiv";
Le të shkojmë më tej. Le të rishikojmë funksionin e kontekstitMenuListener dhe të shtojmë një toggleMenuOn që shfaq menunë:
funksioni contextMenuListener (el) (el.addEventListener ("contextmenu", funksioni (e) (e.preventDefault (); toggleMenuOn ();));) funksioni toggleMenuOn () (if (menuState! == 1) (menuState = 1 ; menu.classList.add (aktive);))
Për momentin, tashmë mund të telefononi menynë tonë të kontekstit me butonin e djathtë të miut. Por nuk mund të thuhet se funksionon si duhet. Së pari, nuk është aspak aty ku do të donim të ishte. Duhet pak matematikë për të zgjidhur problemin. Së dyti, nuk është ende e mundur mbyllja e kësaj menyje. Duke marrë parasysh se si funksionojnë menytë e zakonshme të kontekstit, ne dëshirojmë që zbatimi ynë të mbyllet kur klikojmë në një jo-menu dhe kur shtypim Escape. Përveç kësaj, kur klikoni me të djathtën jashtë menysë sonë, ajo duhet të mbyllet, dhe në vend të kësaj, kërkohet hapja e menysë së paracaktuar. Le të përpiqemi t'i zgjidhim të gjitha këto.

Rifaktorimi i kodit tonë

Natyrisht, tre ngjarje kryesore do të jenë përgjegjëse për të gjitha veprimet:
  1. menyja e kontekstit - Kontrollimi i statusit dhe zgjerimi i menysë së kontekstit.
  2. klikoni - Fshih menunë.
  3. keyup - Trajto goditjet e tasteve. Në këtë udhëzues, vetëm ESC është me interes.
Do të na duhen gjithashtu disa funksione ndihmëse, kështu që do të shtojmë një seksion për to në kod. Kështu, ne kemi:

Shumë kode

(funksioni () ("përdor i rreptë"; //////////////////////////////////////////////////////////////// /////////////////////////////// // // FUNKSIONET NDIHMËSE // FUNKSIONET NDIHMËSORE // / //// /////////////////////////////////////////////////////////////////////// //////////////////// / ** * Disa funksione ndihmëse këtu. * Këtu janë vetë funksionet ndihmëse. * ////// //// /////////////////////////////////////////////////////// ////////////////// // // BASHKËFUNKSIONET // FUNKSIONET BËRTHAMË // /////////////////// /////////////////////////////////////////////////////////////////// /////// / ** * Variablat. * Variablat. * / Var taskItemClassName = "detyrë"; ​​var menu = document.querySelector ("# context-menu"); var menuState = 0; var activeClassName = "kontekst -menu - aktiv"; / ** * Inicializoni kodin e aplikacionit tonë. * Inicializoni kodin tonë të aplikacionit. * / funksionin init () (contextListener (); clickListener (); keyupListener ();) / * * * Dëgjon për menunë e kontekstit ngjarjet * Trajtoni ngjarjet e menysë së kontekstit * / Argëtim konteksti i veprimitListener () () / ** * Dëgjon për ngjarjet e klikimeve. * Trajtimi klikoni ngjarjet... * / funksioni clickListener () () / ** * Dëgjon për ngjarjet e tastierës. * Trajtimi i ngjarjes së kyçjes. * / funksion keyupListener () () / ** * Aktivizon menunë e personalizuar të kontekstit. * Shfaq menunë e kontekstit. * / funksioni toggleMenuOn () (nëse (menuState! == 1) (menuState = 1; menu.classList.add (activeClassName);)) / ** * Ekzekutoni aplikacionin. * Nisja e aplikacionit. * / init (); )) ();


Tani ne nuk i përsërisim elementet e listës. Në vend të kësaj, ne do të trajtojmë ngjarjen e menysë së kontekstit në të gjithë dokumentin, duke kontrolluar nëse ka lidhje me një nga detyrat. Prandaj, u prezantua variabli taskItemClassName. Ne do ta bëjmë këtë duke përdorur funksioni ndihmës clickInsideElement, i cili merr dy parametra:
  1. Vetë ngjarja të kontrollohet.
  2. Emri i klasës për të krahasuar. Nëse ngjarja ka ndodhur brenda një elementi që ka klasën e specifikuar, ose prindi i këtij elementi ka një klasë të tillë, atëherë ky element duhet të kthehet.
Këtu është funksioni i parë ndihmës:
funksioni clickInsideElement (e, className) (var el = e.srcElement || e.target; if (el.classList.contains (className)) (ktheje el;) other (ndërsa (el = el.parentNode) (nëse (el .classList && el.classList.përmban (className)) (kthim el;))) kthen false;)
Le të kthehemi dhe të modifikojmë kontekstinListener:
funksioni contextListener () (document.addEventListener ("contextmenu", funksioni (e) (nëse (klikoInsideElement (e, taskItemClassName)) (e.preventDefault (); toggleMenuOn ();)));)
Me një funksion ndihmës që bën disa nga punët e pista për ne dhe kap ngjarjen e menysë së kontekstit në të gjithë dokumentin, tani mund ta mbyllim menunë kur klikojmë jashtë tij. Për ta bërë këtë, shtoni funksionin toggleMenuOff dhe modifikoni kontekstinListener:
funksioni contextListener () (document.addEventListener ("contextmenu", funksioni (e) (nëse (kliko InsideElement (e, taskItemClassName)) (e.preventDefault (); toggleMenuOn ();) tjetër (toggleMenuOff ();)));) funksioni toggleMenuOff () (nëse (menuState! == 0) (menuState = 0; menu.classList.remove (activeClassName);))
Tani klikoni me të djathtën mbi artikullin e listës. Dhe pastaj - diku tjetër në dokument. Voila! Menuja jonë është mbyllur dhe menuja standarde është hapur. Pastaj do të bëjmë diçka të ngjashme për ngjarjen e klikimit, në mënyrë që të mos mbyllet me një buton djathtas:
funksioni clickListener () (document.addEventListener ("kliko", funksioni (e) (butoni var = e.cili || e.button; if (button === 1) (toggleMenuOff ();)));)
Kjo pjesë e kodit është paksa e ndryshme nga ajo e mëparshme sepse Firefox. Pas butonin e djathtë miu është në depresion, ngjarja e klikimit aktivizohet në Firefox, kështu që këtu duhet të sigurohemi gjithashtu që ka pasur vërtet një klikim majtas. Tani menyja nuk pulson kur klikoni me të djathtën. Le të shtojmë një mbajtës të ngjashëm për klikimin. Çelësat ESC:
funksioni keyupListener () (window.onkeyup = funksioni (e) (nëse (e.keyCode === 27) (toggleMenuOff ();)))
Ne morëm një menu që hapet dhe mbyllet siç synohet, duke ndërvepruar me përdoruesin në një mënyrë të natyrshme. Le të pozicionojmë më në fund menunë dhe të përpiqemi të trajtojmë ngjarjet brenda saj.

Pozicionimi i menysë sonë të kontekstit

Me HTML dhe CSS aktuale në mendje, menyja jonë shfaqet në fund të ekranit. Por ne do të donim që ajo të shfaqet aty ku ndodhi klikimi. Le ta korrigjojmë këtë lëshim të bezdisshëm. Së pari, le të shtojmë një funksion tjetër ndihmës që merr koordinatat e sakta të klikimit. Le ta quajmë atë getPosition dhe të përpiqemi ta bëjmë atë të trajtojë veçoritë e ndryshme të shfletuesit:
funksioni getPosition (e) (var posx = 0; var posy = 0; nëse (! e) var e = dritare.ngjarje; nëse (e.faqeX || e.faqeY) (posx = e.faqeX; posy = e. faqeY;) ndryshe nëse (e.clientX || e.clientY) (posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement. scrollTop;) kthim (x: posx, y: posy))
Hapi ynë i parë në pozicionimin e menysë është përgatitja e tre variablave. Le t'i shtojmë ato në bllokun e duhur të kodit:
var menuPozicioni; var menuPozicioniX; var menuPozicioniY;
Le të krijojmë një funksion positionMenu që merr një argument të vetëm, një ngjarje. Tani për tani, lëreni të printojë koordinatat e menusë në tastierë:
pozicioni i funksionitMenu (e) (menuPosition = getPosition (e); console.log (menuPosition);)
Le të modifikojmë kontekstin Listener për të filluar procesin e pozicionimit:
funksioni contextListener () (document.addEventListener ("contextmenu", funksioni (e) (nëse (klikoInsideElement (e, taskItemClassName)) (e.preventDefault (); toggleMenuOn (); positionMenu (e);) other (toggleMenuOff (); )))))
Kthehuni te menyja e kontekstit dhe shikoni konsolën. Sigurohuni që pozicioni të jetë realisht i disponueshëm dhe i regjistruar. Ne mund të përdorim stilet inline për të vendosur vetitë e sipërme dhe të majta nëpërmjet JS. Kjo është një version të ri Menuja e pozicionit:
Pozicioni i funksionitMenu (e) (menuPozicioni = gjenPozicioni (e); menuPozicioniX = menyPozicioni.x + "px"; menuPozicioniY = menuPozicioni.y + "px"; menu.style.majtas = menuPozicioniX; menu.stili.lart = menyPozicioniY;)
Klikoni kudo tani. Menuja shfaqet kudo! Kjo është e mrekullueshme, por ka disa gjëra që duhet të adresohen:
  1. Çfarë ndodh nëse përdoruesi klikon afër skajit të djathtë të dritares? Menyja e kontekstit do të shkojë përtej saj.
  2. Po sikur përdoruesi të ndryshojë përmasat e dritares ndërsa menyja e kontekstit është e hapur? I njëjti problem lind. Dropbox e zgjidh këtë problem duke fshehur x-overflow: hidden).
Le të zgjidhim problemin e parë. Le të përdorim JS për të kuptuar gjerësinë dhe lartësinë e menysë sonë dhe të kontrollojmë që menyja përshtatet plotësisht. Përndryshe, lëvizni pak. Duhet pak matematikë dhe mendim, por do ta mbajmë të thjeshtë dhe të drejtpërdrejtë. Së pari, le të kontrollojmë gjerësinë dhe lartësinë e dritares. Pastaj gjejmë gjerësinë dhe lartësinë e menusë. Dhe pastaj do të sigurohemi që ndryshimi midis koordinatave të klikim dhe gjerësisë së dritares së futur të jetë më i madh se gjerësia e menysë. Dhe ne do të bëjmë të njëjtën gjë për lartësinë. Nëse menyja nuk përshtatet në ekran, ne do të korrigjojmë koordinatat e saj. Le të fillojmë duke shtuar dy variabla:
var Meny Gjerësia; var meny Lartësia;
Siç e mbani mend, menyja jonë është e fshehur si parazgjedhje, kështu që nuk mund të merrni dhe llogaritni vetëm dimensionet e saj. Në rastin tonë, menyja është statike, por me aplikim real përmbajtja e tij mund të ndryshojë në varësi të kontekstit, kështu që është më mirë të llogarisni gjerësinë dhe lartësinë në momentin e hapjes. Le të marrim vlerat e kërkuara brenda funksionit të menusë së pozicionit:
menuWidth = menu.offsetWidth; menuHeight = menu.offset Lartësia;
Le të prezantojmë dy variabla të tjerë, por këtë herë për madhësinë e dritares:
var Gjerësia e dritares; var Lartësia e dritares;
Le të llogarisim vlerat e tyre në një mënyrë të ngjashme:
Gjerësia e dritares = dritare.Gjerësia e brendshme; Lartësia e dritares = dritarja.lartësia e brendshme;
Në fund të fundit, le të supozojmë se duam të shfaqim menunë jo më afër se 4 piksele nga buza e dritares. Ju mund të krahasoni vlerat, siç thashë më lart, dhe të rregulloni pozicionin diçka si kjo:
var clickCoords; var clickCoordsX; var clickCoordsY; // Pozicioni i përditësuar i funksionit të menysë, pozicioni Menu (e) (klikoCoords = getPosition (e); clickCoordsX = clickCoords.x; clickCoordsY = clickCoords.y; menuWidth = menu.offsetWidth + 4; menuLartësia = menu.offsetHeight + 4; windowWidth = dritare. gjerësia e brendshme; Lartësia e dritares = dritare.lartësia e brendshme; nëse ((Gjerësia e dritares - klikoCoordsX)< menuWidth) { menu.style.left = windowWidth - menuWidth + "px"; } else { menu.style.left = clickCoordsX + "px"; } if ((windowHeight - clickCoordsY) < menuHeight) { menu.style.top = windowHeight - menuHeight + "px"; } else { menu.style.top = clickCoordsY + "px"; } }
Menuja jonë po shkon mjaft mirë tani. Mbetet për të bërë diçka me ndryshimin e madhësisë së dritares. Unë kam folur tashmë se si e bën Dropbox, por në vend të kësaj ne do të mbyllim menunë e kontekstit. [ Kjo sjellje është shumë më afër standardit.] Shtoni në funksionin init rreshti tjetër:
resizeListener ();
Dhe le të shkruajmë vetë funksionin:
funksioni resizeListener () (window.onresize = funksioni (e) (toggleMenuOff (););)
Përrallore.

Lidhja e ngjarjeve me artikujt e menysë së kontekstit

Nëse aplikacioni juaj është më kompleks ky shembull, dhe po planifikoni përmbajtjen dinamike të menysë së kontekstit, do t'ju duhet të gërmoni në atë që po ndodh më tej në më shumë detaje në mënyrë që të mendoni vetë detajet që mungojnë. Gjithçka është më e thjeshtë në aplikacionin tonë, dhe ekziston vetëm një menu me një grup të vazhdueshëm veprimesh. Në këtë mënyrë, ju mund të kontrolloni shpejt se cili artikull është përzgjedhur dhe ta përpunoni atë përzgjedhje. Në shembullin tonë, ne thjesht do ta ruajmë elementin e zgjedhur në një variabël dhe do të shkruajmë ID-në e tij të të dhënave dhe veprimin e zgjedhur në tastierë. Për ta bërë këtë, le të modifikojmë shënimin e menysë:

Më pas, le të ruajmë të gjitha objektet që na duhen:
var contextMenuClassName = "menyja e kontekstit"; var contextMenuItemClassName = "artikull_menu_kontekst"; var contextMenuLinkClassName = "context-menu__link"; var contextMenuActive = "menyja e kontekstit - aktive"; var taskItemClassName = "detyrë"; var taskItemInContext; var clickCoords; var clickCoordsX; var clickCoordsY; var menu = document.querySelector ("# menu-kontekst"); var menuItems = menu.querySelectorAll (". context-menu__item"); var menuGjendja = 0; var Meny Gjerësia; var meny Lartësia; var menuPozicioni; var menuPozicioniX; var menuPozicioniY; var Gjerësia e dritares; var Lartësia e dritares;
Është shfaqur ndryshorja taskItemInContext, së cilës i caktohet një vlerë kur klikoni me të djathtën mbi një artikull të listës. Na duhet për të regjistruar ID-të e elementeve. Ka edhe emra të rinj të klasave. Tani le të kalojmë mbi funksionalitetin.

Funksioni i inicializimit mbetet i njëjtë. Ndryshimi i parë ndikon në kontekstListener, sepse ne duam të ruajmë elementin që përdoruesi klikoi në taskItemInContext dhe funksioni clickInsideElement thjesht e kthen atë:
funksioni contextListener () (document.addEventListener ("contextmenu", funksioni (e) (taskItemInContext = clickInsideElement (e, taskItemClassName); if (taskItemInContext) (e.preventDefault (); toggleMenuOn (); positionMenuItemI (e)ontex; = null; kaloniMenuOff ();)));)
Ne e rivendosim atë në null nëse klikimi i djathtë nuk ishte në një artikull të listës. Epo, le të zbresim te clickListener. Siç e përmenda më herët, për hir të thjeshtësisë, ne thjesht do të nxjerrim informacion në tastierë. Tani, kur kapni ngjarjen e klikimeve, bëhen disa kontrolle dhe menyja mbyllet. Le të bëjmë rregullime dhe të fillojmë të përpunojmë klikimin brenda menysë së kontekstit duke kryer disa veprime dhe vetëm më pas duke mbyllur menunë:
funksioni clickListener () (document.addEventListener ("kliko", funksioni (e) (var clickeElIsLink = clickInsideElement (e, contextMenuLinkClassName); if (clickeElIsLink) (e.preventDefault (); other menuItemListener (clickeElIsLink)| .button; if (button === 1) (toggleMenuOff ();))));)
Ju mund të keni vënë re se funksioni menuItemListener është duke u thirrur. Do ta përcaktojmë pak më vonë. Funksionet keyupListener, resizeListener dhe positionMenu lihen të pandryshuara. Ne do të modifikojmë pak funksionet toggleMenuOn dhe toggleMenuOff, duke ndryshuar emrat e variablave për lexueshmëri më të mirë të kodit:
funksioni toggleMenuOn () (nëse (menuState! == 1) (menuState = 1; menu.classList.add (contextMenuActive);)) funksioni toggleMenuOff () (nëse (menuState! == 0) (menuState = 0; menu.classList .remove (contextMenuActive);))
Më në fund, ne implementojmë menuItemListener:
funksion menuItemListener (lidhje) (console.log ("Task ID -" + taskItemInContext.getAttribute ("data-id") + ", Veprimi i detyrës -" + link.getAttribute ("data-action")); toggleMenuOff (); )
Kjo përfundon zhvillimin e funksionalitetit.

Disa vërejtje

Para se të mbarojmë, le të kemi parasysh disa pika:
  1. Gjatë gjithë këtij artikulli, unë i jam referuar klikimit me të djathtën si ngjarje për të hapur një meny konteksti. Jo të gjithë janë të djathtë dhe jo të gjithë janë të ekspozuar. cilësimet standarde minjtë. Por pavarësisht nga kjo, ngjarja e menysë së kontekstit vepron në përputhje me cilësimet e miut dhe nuk është e bashkangjitur në mënyrë të ngurtë në butonin e djathtë.
  2. Një tjetër pikë e rëndësishmeështë se ne shikuam vetëm aplikacione të plota në internet për desktop me miun si pajisje hyrëse. Përdoruesit mund të përdorin tastierën ose pajisje celulare kështu që mos harroni të përfshini mënyra alternative ndërveprim për të mbajtur një ndërfaqe miqësore.

Pyetje e madhe

E vendos këtë çështje si një artikull më vete, sepse ka vërtet rëndësi pas gjithçkaje që kemi bërë. Pyesni veten: A ju nevojitet vërtet menyja juaj e kontekstit? Këto gjëra janë të bukura, por përpara se t'i përdorni, duhet të siguroheni që ato janë vërtet të dobishme në rastin tuaj. Në mënyrë tipike, përdoruesit presin sjelljen e njohur të aplikacionit. Për shembull, pasi të klikojnë me të djathtën mbi një foto, ata presin që të jenë në gjendje ta ruajnë atë, të kopjojnë lidhjen, etj. sendet e nevojshme në menynë e personalizuar mund t'i shqetësojë ata.

Pajtueshmëria e shfletuesit

Tutoriali përdori disa gjëra moderne CSS dhe JS, përkatësisht shfaqjen: flex in styles dhe classList për ndërrimin e klasave në JS. Vlen gjithashtu të përmendet se përdoren etiketat HTML5. Nëse dëshironi përputhshmëria e prapambetur me shfletues të vjetër, do t'ju duhet ta zbatoni vetë. Shembujt në këtë tutorial janë testuar në shfletuesit e mëposhtëm:
  • Chrome 39
  • Safari 7
  • Firefox 33

Përfundim dhe demonstrim

Nëse keni menduar me kujdes për gjithçka dhe jeni të sigurt se aplikacioni juaj ka nevojë për këtë funksionalitet, mund të përdorni menunë e zhvilluar. Sigurisht, mund të kërkojë disa ndryshime, por këtë manual përshkruan në detaje procesin e zhvillimit, kështu që nuk duhet të jetë aq e vështirë për të zbatuar ndryshimet tuaja.

Baza e kodit për këtë tutorial

Artikujt kryesorë të lidhur