Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Отследить клик по скролл-бару


Автор: hetfield 20.4.2009, 14:48
Добрый день. У меня вот такая проблема. По щелчку мыши появляется див с элементами внутри него. Элементов может быть много и так как див ограничен по высоте, у него появляется скролл-бар, в зависимости от кол-ва элементов. Так вот, нужно чтобы он вел себя как обычный select. То есть "сворачивался" только тогда, когда либо выбран внутри него элемент либо кликнули вне слоя.

Вариант когда выбран элемент не проблема, меня интересует когда вне элемента:
Код

$("body").mouseup( function () {  $("#j_country_list").addClass("hidden"); } );

 
Проблема в том, что если в этомдиве появился скролл и кликнуть на него, например для того что-бы пролистнуть вниз, див скрывается. Как исключить его в этом случае?

Автор: Aliance 20.4.2009, 15:32
Ловить объект события и смотреть, откуда оно пришло.

Пишу по памяти:
Код

$( document.body ).click( function( evt )
    {
        evt = evt || window.event;
        var from = ( evt.target ) ? evt.target : ( ( evt.srcElement ) ? evt.srcElement : null );
        alert( from );
    }
);

Автор: hetfield 20.4.2009, 16:32
На скролл-бар не реагирует...

Автор: Aliance 20.4.2009, 17:03
Действительно, попробовал ( хотя было мало времени ) - не получилось.
Вот нашел инфу, может поможет: http://fastcoder.org/articles/?aid=269

Автор: hetfield 20.4.2009, 21:51
Там что-то ничего не понял. Я не js не силен... )  Оказалось что этот баг только в FF. В других браузерах про клике на скрол все нормально... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)