Autor Zpráva
Manny
Profil
Ahojte,

u tohoto mi console píše, že .on není funkce
$(document).ready(function(){
    $("#map path").on({click: function(e){location.href='./'+($(this).attr('id'))+'/';    
                    return false;}
        });
    });
Co s tím? Nebo lépe. Nešlo by to přepsat do obyčejného js?
_es
Profil
Manny:
Čo tak najprv aspoň pozrieť do dokumentácie (api.jquery.com/on) nejakého cudzieho skriptu, než z neho časť použiješ?

Nešlo by to přepsat do obyčejného js?
Šlo. Napríklad „normálne“ priraďovať funkciu do vlastnosti onclick.
Chamurappi
Profil
Reaguji na Mannyho:
Asi nějak takhle:
var paths = document.querySelectorAll("#map path");
for(var i = 0; i < paths.length; i++)
  paths[i].onclick = function(e)
  {
    location.href = this.id + "/";
  };


Reaguji na _es:
Čo tak najprv aspoň pozrieť do dokumentácie
Vidíš něco konkrétního, co dělá špatně?
Já bych si tipnul, že má ve stránce přilinkovanou starší verzi jQuery než 1.7. Jinak na první pohled příčinu zmíněné chybové hlášky nevidím.
_es
Profil
Chamurappi:
Vidíš něco konkrétního, co dělá špatně?
Aha, prehliadol som druhý možný typ syntaxe. Je to také nejednoznačné, že sa to rôzne vetví podľa typov argumentov.

Asi nějak takhle:
Z hľadiska efektivity sa zbytočne vytvára množstvo funkcií. Efektívnejšie:
var paths = document.querySelectorAll("#map path");
function kliknutie(e) {
    location.href = this.id + "/";
};
for(var i = 0; i < paths.length; i++)
  paths[i].onclick = kliknutie;
Manny
Profil
I když jsem stáhl poslední jQuery anebo použil prosté js, nejede mi to.
ukázka
Radek9
Profil
_es:
Z hľadiska efektivity sa zbytočne vytvára množstvo funkcií.
Pokud jich na stránce nejsou řádově tisíce, tak to podle mě moc nevadí. Optimalizace mají smysl, až když jsou vážně potřeba.

Manny:
Dej ten script na konec stránky před </body>.
Manny
Profil
Díky funguje.
Potřebuju tam připojit ještě jeden okres, dodělat hover a pár maličkostí. Musím to mít dneska a nemám čas se s tím babrat, prosím o přesunutí do sekce Zakázky.
---
Kontakt:mmiracky@seznam.cz

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: