Volání JS funkce přes eventHandler uvnitř SVG – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Volání JS funkce přes eventHandler uvnitř SVG – JavaScript, AJAX, jQuery – Fórum – Programujte.comVolání JS funkce přes eventHandler uvnitř SVG – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

ZAJDAN0
Newbie
27. 4. 2013   #1
-
0
-

Ahoj..řeším celekm triviální problém:

- v index.php jsem si cvičně vytvořil
 <a id="mydiv" rel="nofollow" href="http://www.seznam.cz">test</a>


- vytvořil jsem soubor switchtab.js a ten jsem si nalinkoval v index.php - soubor obsahuje jednu funkci
function styleClick() {
                $('mydiv').click();
                $('mydiv2').click();
   };

- tuto funkci se snažím zavolat z externího SVG pomocí eventHandleru na jednom z jeho objektů
onmouseover="styleClick()"

všiml jsem si ale, že ten handler tu funkci nezavolá
netušíte jak šikovně prověřit, že handlery si funkci zavolají?

Nahlásit jako SPAM
IP: 78.156.128.–
jakubk
~ Redaktor
+4
Posthunter
27. 4. 2013   #2
-
0
-

#1 ZAJDAN
Ahoj,

v handleru si můžeš nechat vyskočit okýnko pomocí alertu, nebo něco vypsat do konzole prohlížeče pomocí console.log(). Další možnost je si nastavit v prohlížeči v tom skriptu breakpointy a ono ti to řekne, když se spustí ten konkrétní řádek.

Nahlásit jako SPAM
IP: 109.246.196.–
ZAJDAN0
Newbie
2. 5. 2013   #3
-
0
-

podařilo se mi odchytat potřebné elementy, ale na potvoru poslední akce v kódu se neprovede:
 

$(window).load(function () {
var tabA = $$('.nn_tabs_nav ul li:nth-child(2) span a');                                              //tady si odchytím jeden z tabů
//Functional
        var svg = document.getElementById("svg");                                                 //tady si odchytím kontajner pro svg
        var svgElement = svg.contentDocument;                                                       //get the inner DOM .svg
        var door = svgElement.getElementById("door-left-contour");                            //get the inner element by id

        door.addEventListener("mouseout",function(){tabA.setStyle('color','yellow')});    // provede změnu barvy - úspěšně
        door.addEventListener("mousedown",function(){tabA.click()});                     // tady se snažím provést klik na tabA
    });

v bodě, kde se snažím provést klik na proměnou tabA se akce neprovede. při nastaveném breakpointu to vyhodí:
Unhandled Error: 'tabA.click' is not a function

což nechápu, protože předcházející akce při mouseout na stejný element se provede  pořádku

Nahlásit jako SPAM
IP: 109.107.211.–
ZAJDAN0
Newbie
2. 5. 2013   #4
-
0
-

zkusil jsem ješte nahradit ".click" mootools ekvivalentem:
 

door.addEventListener("mousedown",function(){tabA.addEvent(click)});
 

tentokrát je breakpoint vyhodnocen jako:
Unhandled Error: Undefined variable: click

Nahlásit jako SPAM
IP: 109.107.211.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý