2015-03-05 3 views
1
  1. Перейдите по ссылке ->jsfiddle.
  2. Нажмите на стрелку вниз вертикальной полосы прокрутки. Появятся варианты (будут выделены опции 11, а вертикальная полоса прокрутки будет внизу)
  3. Не нажимайте на кнопку стрелка вверх вертикальной полосы прокрутки. (Не используйте прокрутку колесика мыши)

Прокрутка останавливается после перехода на 1 уровень вверх. Варианты с 1 по 4 не отображаются. (перетаскивание полосы прокрутки с помощью мыши)Проблема с вертикальной прокруткой в ​​выбранном плагине jquery

Любая идея, что происходит? Все, что связано с css, используется для добавления вертикальной прокрутки?

Спасибо!

HTML

<select id="html-multi-chosen-select" multiple="multiple"> 
    <option selected='selected' value="Options 1">Options 1</option> 
    <option selected='selected' value="Options 2">Options 2</option> 
    <option selected='selected' value="Options 3">Options 3</option> 
    <option selected='selected' value="Options 4">Options 4</option> 
    <option selected='selected' value="Options 5">Options 5</option> 
    <option selected='selected' value="Options 6">Options 6</option> 
    <option selected='selected' value="Options 7">Options 7</option> 
    <option selected='selected' value="Options 8">Options 8</option> 
    <option selected='selected' value="Options 9">Options 9</option> 
    <option selected='selected' value="Options 10">Options 10</option> 
    <option value="Options 11">Options 11</option> 
    <option value="Options 12">Options 12</option> 
    <option value="Options 13">Options 13</option> 
    <option value="Options 14">Options 14</option> 
    <option value="Options 15">Options 15</option> 
</select> 

JS

$('#html-multi-chosen-select').chosen({ width: "210px" }); 

CSS для добавления вертикальной прокрутки:

#html_multi_chosen_select_chosen ul.chosen-choices{ 
    max-height:80px; 
    overflow: auto; 
} 
+0

Вы когда-нибудь находили решение этой проблемы? – mhbuur

ответ

-1

Эта работа для меня

<style> 
    #myChosenID_chosen .chosen-choices{ 
     max-height:80px; 
     overflow: auto; 
    } 
</style> 
2

У меня была эта же проблема. Это результат выбранного плагина с использованием javascript событий mousedown/mouseup, которые запускаются даже при нажатии на кнопку прокрутки.

Чтобы исправить проблему, мне пришлось взломать источник selected.jquery.js (v1.51).

В строках 672 до 677 выбранного плагина, вы можете найти, где плагин связывает всю его MouseDown/мышь вверх события:

this.container.bind('mousedown.chosen', function(evt) { 
 
    _this.container_mousedown(evt); 
 
}); 
 
this.container.bind('mouseup.chosen', function(evt) { 
 
    _this.container_mouseup(evt); 
 
});

Для предотвращения прокрутки нажмите из кипящего I заменить эти строки с:

this.container.bind('click.chosen', function(evt) { 
 
    _this.container_mousedown(evt); 
 
    _this.container_mouseup(evt); 
 
});

Обратите внимание, что этот взлом полностью не проверен и может иметь некоторые непредвиденные последствия, но, похоже, сейчас он работает для меня.

Также обратите внимание, что я не пробовал это на любой мобильной платформе.

Использование на свой страх и риск ....

Смежные вопросы