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




Kapcsolódó cikkek