Paweł Mieńko

Paweł Mieńko Webmaster, Magento
Developer

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Kliknicie w tło, z wyłączeniem konkretnego div

$('#bodyx').click(function() {
alert("me");
});

$('#chmura').click(function(e) {
e.stopPropagation();
});

niestety klikając w div #chmura wyświetla się alert, co robię źle?

konto usunięte

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Dodales klicka na body (pierwszy raz widze by ktos mial takowy wymog, ale OK), twoj div jest czescia body, wiec klikajac na divie, klikasz na body i widzisz alert.

Z funkcjonalnoscia (dzialaniem) wszystko OK, ale wydaje mi sie ze probujesz rozwiazac problem, wybierajac zla droge. Podaj przyklad co chcesz zrobic, dlaczego akurat body ma byc klikalne...
Albo co twoje #chmura powinna (nie)robic.

konto usunięte

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Dobrze by było wiedzieć więcej czego tak naprawdę potrzebujesz, ale wydaje się że
pomocna dla ciebie będzie właściwość CSS pointer-events.
Działa na te chwilę niestety tylko w dobrych przeglądarkach ( istnieje możliwość obejścia tego za pomocą JS dla IE)

Więcej o tym możesz poczytać np.na blogu Ferrante:
http://ferrante.pl/frontend/javascript/niechciane-zdar...

konto usunięte

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Paweł Mieńko:
niestety klikając w div #chmura wyświetla się alert, co robię źle?
Z kontekstu rozumiem co chcesz zrobić - faktycznie u mnie też to nie działa w jQuery tylko... tylko, że ja w handlerach jQuery zwracam false gdy chcę osiągnać preventDefault+stopPropagation i to działa w jQuery.

Natomiast bez jQuery faktycznie to mi działa zgodnie z oczekiwaniem:
document.body.addEventListener('click', function () {
console.info('body click');
}, false);
document.getElementById('chmura').addEventListener('click', function (event) {
console.info('chmura click');
event.stopPropagation();
}, false);

konto usunięte

Temat: kliknicie w tło, z wyłączeniem konkretnego div


$(document).ready(function() {
$('#bodyx').click(function() {
alert("me");
});

$('#chmura').click(function(e) {
e.stopPropagation();
alert('i am chmurka!');
});
});


dziala... tak jak powinno... klikasz w $chmura - i jest alert "i am chmurka"
klikasz w bodyx diva i jest alert 'me' :)


<div id="bodyx" style="padding:10px;">
<div id="chmura">sdfsdfsdfsdfsdf</div>
</div>
Paweł Mieńko

Paweł Mieńko Webmaster, Magento
Developer

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Wielkie dzięki o to właśnie chodziło.

konto usunięte

Temat: kliknicie w tło, z wyłączeniem konkretnego div

Paweł Mieńko:
Wielkie dzięki o to właśnie chodziło.

eeee... ale ja nic nie zrobilem! :)
skopiowalem tylko to co ty napisales :)

Następna dyskusja:

Ajax ładowanie strony w div




Wyślij zaproszenie do