Autor Zpráva
xxxxxxxx
Profil *
Ako deaktivovať link aby sa naň nedalo klikať? Potreboval by som deaktivovať všetky linky až kým sa nenačíta obsah cez ajax a potom tie linky zase aktivovať.

skúšal som

$("a").attr("disable", "disable") ale nefunguje.
_es
Profil
xxxxxxxx:
deaktivovať všetky linky až kým sa nenačíta obsah cez ajax
To nejako nedáva zmysel. Čo to sú za odkazy? A ak sú nejako závislé na obsahu načítanom cez JS, prečo ich nevytvoríš až vtedy, keď je ten obsah načítaný?
Medvídek
Profil
xxxxxxxx:
$("a").attr("disable", "disable") ale nefunguje.
Protože si k odkazu přiřadil atributu disable hodnotu disable. Buďto ho odstraň $("a").remove(); nebo mu třeba odstraň atribut href. Ale jinak jak psal _es.
xxxxxxxx
Profil *
_es mám menu v ktorom sú odkazy po kliknutí na link sa načíta obsah cez ajax, menu sa nemení. no a ja chcem užívateľovi zakázať aby mohol klikať na linky v tom menu až kým sa nenačíta celý obsah. lebo keď preklikáva príliš rýchlo a je slabá odozva servera tak sa to môže zahltiť.

Medvídek odkaz bude fungovať aj keď nebude mať hodnotu href pretože klikanie sa odchytáva cez event click
_es
Profil
xxxxxxxx:
Odkazy ani atribút disable nemajú.

no a ja chcem užívateľovi zakázať aby mohol klikať na linky v tom menu
No to by si to asi tí užívatelia užili. Dáš im, na istý čas, nefunkčné menu. Prečo im ho nedáš až vtedy, keď môže byť funkčné?

lebo keď preklikáva príliš rýchlo a je slabá odozva servera tak sa to môže zahltiť
Tak to sprav nejako normálne. Tipujem, že je tam asi tak 99 % nadbytočného JS.

nebude mať hodnotu href pretože klikanie sa odchytáva cez event click
Nevadí ti, že vyhľadávače taký obsah ignorujú?
xxxxxxxx
Profil *
_es:
vôbec si ma nepochopil
_es
Profil
xxxxxxxx:
V čom?

klikanie sa odchytáva cez event click
No a prečo ho odchytávaš vtedy, keď ho odchytávať nechceš a neodchytávaš ho vtedy, keď ho odchytávať chceš? - Keď už trváš na tom nezmyselnom zobrazení nefunkčného menu.
xxxxxxxx
Profil *
už som si vymyslel riešenie:

links = $ "a"

links.enabled = (enabled) ->
    self = @
    if enabled
        @unbind "click"
        ($.each @onClick, (k, e) -> self.click e) if @onClick
    else        
        clicks = (links.data "events").click
        @onClick = []
        $.each clicks, (k, e) -> self.onClick.push e.handler
        @unbind "click"
        @click -> false



_es:
keď nabehne loading tak chcem zakázať užívateľovi aby mohol klikať tam kam nemá
_es
Profil
xxxxxxxx:
chcem zakázať užívateľovi aby mohol klikať tam kam nemá
Ešte, že mu nemôžeš prikázať, aby zostal na stránke a má tak možnosť takú stránku opustiť.
xxxxxxxx
Profil *
_es:
to neni stránka ale aplikácia, a kým nevidíš o čo ide tak nemá zmysel to tu riešiť.


ešte som to vylepšil:

links.enabled = (enabled) ->
    self = @
    if enabled
        if @onClick
            @unbind "click"
            ($.each @onClick, (k, e) -> self.click e)
    else        
        click = (links.data "events").click
        @onClick = []
        $.each click, (k, e) -> self.onClick.push e.handler
        @unbind "click"
        @click -> false
_es
Profil
xxxxxxxx:
Čo to je za divný kód? Lebo JS to asi nie je.
Radek9
Profil
_es:
Já bych to tipl na CoffeeScript, ale nejsem si úplně jistý.
xxxxxxxx
Profil *
jj coffeescript

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0