Javascript - hogyan lehet letiltani a html hivatkozásokat
Mindent megpróbáltam, de nem működött a Firefoxban (1.4.2 js használatával):
Megjegyzés. A horgonycímke kattintási funkcióját nem lehet regisztrálni, mert dinamikusan regisztrálva van. És meg kell mutatni a kapcsolatot a kapcsolt módban.
11 válasz
Nem lehet letiltani a linket (hordozható út). Használhatja az egyik módszert (amelyek mindegyikének előnyei és hátrányai vannak).
Ennek a helyesnek kell lennie (de lásd lent), ha ezt a legtöbb böngésző támogatja:
Egy másik lehetőség az IE 11+ számára egy link vagy elemek blokkjának vagy inlineblokkjának beállítása:
Valószínűleg meg kell határoznunk egy CSS osztályt mutató eseményekhez: egyik sem. de mi van akkor, ha újra használjuk a CSS osztály helyett a letiltott attribútumot? Szigorúan szólva, a tiltott felhasználók nem támogatottak . de a böngészők nem panaszkodnak az ismeretlen attribútumokról. A letiltott attribútum használata. Az IE figyelmen kívül hagyja a mutató eseményeket. de tiszteletben fogja tartani az IE-specifikus attribútumot; A CSS-tel kompatibilis egyéb böngészők figyelmen kívül hagyják az ismeretlen, letiltott attribútumot és a becsületsorjelző eseményeket. Könnyebb írni, mint megmagyarázni:
Mindezt, kérjük, vegye figyelembe, hogy a pointer-események csak letiltják. pointer események. A linkek továbbra is elérhetők a billentyűzeten keresztül. akkor az itt leírt egyéb módszerek egyikét is alkalmazni kell.
A fenti CSS módszerrel kombinálva a tabindexet nem szabványos módon használhatja, hogy megakadályozza az elemet a fókuszálásból:
A hivatkozások letiltásához kövesse az alábbi lépéseket:
Ezek visszaállításához:
Ha azt szeretné, hogy .is helyett "[letiltva]" legyen. használhatja .attr ( „fogyatékkal élő”)! = nem definiált (jQuery 1.6+ mindig vissza definiálatlan A. Ha a tulajdonság be van állítva), de () sokkal tisztább (köszönet Dave Stewart e felülvizsgálat). Kérjük, vegye figyelembe, hogy itt használom a fogyatékkal attribútuma nem szabványos módon, ha érdekel, akkor cserélje attribútum osztály és cserélje .ie ( „[fogyatékos]”) a .hasClass ( „fogyatékkal élő”) (hozzáadása és eltávolítása a addClass () és a) .
Ne feledje, hogy ha a href nem törlődik, a felhasználó manuálisan meglátogathatja ezt az oldalt.
Törölje a href attribútumot. Ezzel a kóddal nem ad hozzá eseménykezelőt, de magad megváltoztatod a linket. Használja ezt a kódot a kapcsolatok letiltásához:
És ez, újra bekapcsolni őket:
Ezek visszaállításához:
Nem gondolom, hogy van oka annak, hogy ezt a döntést inkább az első helyett helyettesítsük.
A stílus még könnyebb, függetlenül attól, hogy milyen döntést használ a letiltott attribútum hozzáadásával hozzáadott link letiltásához. így használhatja a következő CSS szabályt:
Ha egy attribútum helyett egy osztályt használ:
Ne felejtsük el az air-disabled = "true" attribútumot a fogyatékos attribútummal együtt.
Van még egy lehetséges mód, és az egyik, amit a legjobban szeretek. Alapvetően ez ugyanaz, mint egy lightbox, letiltja az egész oldalt, elhelyez egy divot és zendül a z-indexhez. Itt találhatók a projektemhez tartozó részek. Ez minden böngészőben működik.
Így a resizer megtalálja a kötési helyeket (csak a nyilakat ábrázolja), és a csúszófelületet helyezi el. A kikapcsoló kép egy félig átlátszó szürke négyzet (változtassa meg a html-ben lévő lecsökkentések szélességét / magasságát, hogy megfeleljen a referenciának) annak kimutatására, hogy le van tiltva. A Floating lehetővé teszi az oldal méretének dinamikus megváltoztatását, és az illesztőprogramok ezt a példát követik az ablakResizer () ablakában. Megtalálhatja a megfelelő képeket a Google-on keresztül. Az egyszerűség kedvéért felírtam a megfelelő css inline-t.
majd bizonyos feltételek alapján