Autor Zpráva
Petík
Profil *
Ahoj,
začínám tvořit pár věcí s canvasem a vytvořil jsem si vykreslení několika prvků, čtverců. Ale chtěl bych na ty čtverce nějak poukázat třeba skrze jQuery, aby třeba při kliknutí na daný čtvereček se stala určitá událost, plus každému čtverečku dodat nějaká data. Ale nevím jak přichytit událost k danému objektu. Za odpověď předem díky.
Chamurappi
Profil
Reaguji na Petíka:
Nijak. Protože <canvas> je jeden element, na tom žádný framework pro práci s DOMem nic nezmění.
Z kliknutí můžeš zjistit pozici, kam se kliknulo, a pak si naprogramovat vlastní vyhodnocování příslušnosti bodu do oblasti, ale to je zbytečně složité. Na obdélníkové oblasti se hodí mít několik různých elementů, na polygony a kruhy klikací mapu…
Witiko
Profil
Osobně jsem fandou vytvoření si vícerých elementů canvas. Manipulace s jednotlivými prvky je poté logicky snažší a případně umožňuje i animaci bez nutnosti překreslování celého plátna pouze pohybem, rotací a změnou parametrů daných minipláten.

Chamurappi:
na polygony a kruhy klikací mapu
Na canvas už je možné aplikovat mapu pomocí atributu usemap? Vím, že nemožnost toho byla v minulosti předmětem diskuze.
Petík
Profil *
Chamurappi:
No uvažoval jsem o tom, že bych měřil souřednice kliknutí myši a potom podle nějaké matice souřadnosti určil zda a do jakého objektu je kliknuto, ale jak jsi psal přišlo mě to velmy složitý. A upřímně s tou klikací mapu uvnitř canvasu jsem trochu nepobral. :-) ... moc díky.

Witiko:
Cool to zní dobře měl bych každej čtverec zvlášť ve vlastním elementu. Otázkou je zda to nebude moc náročný. Totiž na projekt, který se s tím chystám udělat bude obsahovat mnoho obrazců, sice jednoduchých - kolečka a obdelníky, ale mohlo by to dost zatěžovat ve velkým počtu. ?.?
Witiko
Profil
Petík:
Při animaci by rozhodně mnohem víc zatěžovalo neustálé překreslování jednoho elementu. Statické části bez potřeby interakce bych řešil jedním elementem.

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: