Autor Zpráva
P-ierre
Profil *
<tr onclick="oznac(1);"><td><input type="checkbox" id="id_1" /></td><td><img onclick="popup_komentar(1);" src="./komentar.png" alt="zobrazit komentář" /></td><td>(další data)</td></tr>

Mám funkci oznac(), která se provede po kliknutí na příslušný řádek. Jenomže řádek se mi logicky označí i ve chvíli, kdy kliknu na obrázek s komentářem.

Potřeboval bych docílit situace, kdy se řádek označí při kliknutí do řádku kamkoliv kromě obrázku. Zkoušel jsem dát obrázku onclick="return false; popup_komentar(1);", ale to nepomohlo.

Máte někdo nějaké nápady?
Kcko
Profil
musíš vypnout probublávání ... https://developer.mozilla.org/en-US/docs/Web/API/event.cancelBubble
nebo https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation ted si nejsem jistý a mizím z práce, jedno z toho to bude.
Radek9
Profil
Kcko:
cancelBubble je zastaralá a nekompatibilní vlastnost, kterou si přidala Mozilla. Používat výhradně stopPropagation.
Kcko
Profil
Radek9:
Asi jo, já používám jQuery, ale trefil jsem se ;)
pako
Profil *
[#3] Radek9
cancelBubble je vlastnost event objektu v starsich IE (do verzie 8 vratane). cize ak ich chces podporovat musis pouzit tuto vlastnost.

[#1] P-ierre
skus nieco taketo: http://jsfiddle.net/tAma7/1/
_es
Profil
P-ierre:
Do kódu to skombinuješ nejako takto: klikatelný div, ve kterém je odkaz
Chamurappi
Profil
Reaguji na Radka9:
Ne, vlastnost cancelBubble je od Microsoftu a Mozilla byla (tuším) poslední prohlížeč, který ji odmítal podporovat. Žádná závažná nekompatibilita v ní nespočívá, protože nastavení vlastnosti nevyvolává chybu (na rozdíl od zavolání méně podporované metody stopPropagation).
Radek9
Profil
pako, Chamurappi:
Aha, tak to se omlouvám za bludy. Asi jsem to měl nějak špatně zafixováno.
P-ierre
Profil *
Díky všem za rady.

Nakonec jsem našel jquery kód, který jsem použil a funguje:

[pre][$('tr').on('click', function(e) {
if( $(e.target).is('img'))
return;

alert('I am clickable');
});/pre]

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