JQuery UI Выбираемый плагин: сделать полосу прокрутки недоступной для выбора при переполнении div - PullRequest
9 голосов
/ 25 февраля 2010

У меня есть div, установленный на overflow: auto;. Это содержимое этого элемента можно выбрать (используя пользовательский интерфейс jQuery).

Когда div переполняется и появляется полоса прокрутки, сама полоса прокрутки становится выбираемой, поэтому прокрутка не работает должным образом. В FF / Chrome я могу прокручивать div, но я получаю выбранный контур. В Safari полоса прокрутки вообще не срабатывает, поскольку щелчок захватывается обработчиком селектируемого.

Можно ли использовать селектор, чтобы добавить полосу прокрутки в список элементов «отмена»? Или любой другой способ запретить выбор полосы прокрутки?

Вот фрагмент кода того, как я настраиваю свой выбираемый div:

$(".mySelectable").selectable( {
    cancel: '.myButton, .notSelectable',
    filter: '.rowSelectable',
    selecting: function(event, ui){
        handleSelection(ui.selecting);
    },
    selected: function(event, ui) {
        handleSelected(ui.selected);
    },
    unselected: function(event, ui) {
        handleUnselected(ui.unselected);
    }
});

Мой HTML выглядит так:

<div class="mySelectable"> <!-- set to auto overflow -->
    <div class="myButton">I can't be selected</div>
    <div class="rowSelectable">I am a selectable row</div>
    ...
</div>

В идеале я ищу что-то, что я могу добавить в опцию «Отмена», которая помогает пропускать полосу прокрутки.

1 Ответ

15 голосов
/ 25 февраля 2010

D'Oh! Решение было простым - добавить еще один div и не устанавливать его переполнение. Итак, HTML становится:

    <div class="wrapperDiv"> <!-- set to auto overflow -->
        <div class="mySelectable"> <!-- NOT set to overflow -->
            <div class="myButton">I can't be selected</div>
            <div class="rowSelectable">I am a selectable row</div>
            ...
        </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...