Показаны сообщения с ярлыком javascript. Показать все сообщения
Показаны сообщения с ярлыком javascript. Показать все сообщения

четверг, 16 февраля 2012 г.

Обработка нажатий вложенного div в javascript

Недавно встала задача по обработке событий onClick для 2-х div'ов - один вложен в другой. Пример:

Мне нужно было обрабатывать нажатия по коричневому div'у (который был вложен в синий div) так, чтобы onClick для синего div'а не срабатывал. Мне помог этот тред на javascript.ru.

Ну и вот пример:

 
<div id="parent" style="width: 200px;height:200px;background-color: #0000aa;">
    <div id="nested" style="width:100px; height:100px; background:#CC6600;">
    </div>
</div>
<script>
    $("#parent").click(function() {alert("parent");});

    $("#nested").bind("click", function(e) {
        alert('nested');
        stop_bubbling(e);
    });
    
    function stop_bubbling(e) {
        if (e.stopPropagation) e.stopPropagation();
        else e.cancelBubble = true;
    }
</script>

суббота, 10 апреля 2010 г.

Решил посмотреть jQuery

Это - великолепно и невероятно! Я познал истинное счастье в javaScript`инге :) Простота создания всяких динамических элементов, удобство их выбора для последующего манипулирования с помощью CSS селекторов, а также множество других изумительных плюшек поджидало меня в этот вечер.

Но нашел я и один недостаток, на который, к счастью, нашелся костыль. Это невозможность выбора элемента DOM через CSS селекторы после динамической загрузки содержимого. Спас упомянутый выше костыль - плагин Live Query .Он позволяет обойти это ограничение с помощью своего обработчика событий.

Итогом сегодняшнего (уже вчерашнего) вечера стало написание маленького чятика с поддержкой AJAX.