У меня есть список с множеством опций, которого достаточно, чтобы отображалась полоса прокрутки при ее открытии.
Когда я пытаюсь щелкнуть ручку на полосе прокрутки раскрывающегося списка параметров, чтобы перетащить список (чтобы я мог видеть другие параметры), раскрывающийся список закрывается.
Какой параметр конфигурации Selectize.js мне нужно установить, чтобы я мог прокручивать раскрывающийся список параметров?
Судя по вашему кодовый ключ, похоже, что вы уже решили эту проблему, если я не понимаю.
benvc, оказывается, проблема заключается в конфликте между обработчиками кликов в selectize и страницей, на которой я его использую. Причина, по которой CodePen работает, заключается в том, что в CodePen нет ничего, кроме выделенного списка. В моем веб-приложении проблема все еще возникает. У вас есть предложения, как я могу определить, какой обработчик кликов «крадет» фокус из моего списка выбора? Я пробовал использовать инструмент глобального события щелчка мыши в Chrome, но не нашел проблемы.
К сожалению, это звучит так, будто закатываешь рукава и начинаешь что-то копать. Если вы можете выделить достаточно небольшой фрагмент проблемного кода, который вы не можете полностью исправить, не стесняйтесь задавать другой вопрос.
Спасибо, ты прав. Я обнаружил, что существует конфликт между компонентом selectize и jQuery-UI Library Draggable. Перетаскиваемый компонент назначается элементу Div, который включает поля в моей всплывающей форме, включая выделенный список. Комментирование перетаскиваемого назначения позволяет выделенному списку работать, но форма больше не может перемещаться. В назначении я использую функцию дескриптора, чтобы ограничить перетаскиваемую функцию областью заголовка формы, $ ('#songData') .draggable ({handle: '#songDataTitle'}), которая не включает выделенный список.
Вот ссылка на CodePen: codepen.io/howardb1/pen/aazWwY





Обнаружена проблема!
Симптом: Оказывается, существует конфликт между подключаемым модулем selectized.js и компонентом перетаскивания jQuery-UI.
Хотя демонстрация CodePen работает нормально, проблема все еще возникает в моем веб-приложении. Одним из многих отличий простой демонстрации CodePen от моего веб-приложения является использование компонента jQuery-UI Draggability в веб-приложении.
Доказательство: С компонентом перетаскивания, прикрепленным к div, который включает всплывающую форму, которая включает выделенный список, фокус крадется из списка выбора при щелчке / перетаскивании полосы прокрутки списка. Комментирование - перетаскиваемое назначение позволяет списку выбора работать нормально, включая полосу прокрутки.
Странно то, что я использую функцию дескриптора перетаскиваемого компонента, чтобы ограничить перетаскивание в область заголовка в верхней части всплывающей формы, которая не включает список выбора, который, как я думал, вызвал бы перетаскиваемый щелчок / drag, чтобы воздействовать только на область заголовка, но очевидно, что это не так. Если перетаскиваемое назначение не закомментировано, функция перетаскивания выполняется только с использованием области заголовка, но полоса прокрутки списка выбора не работает, когда по ней щелкают. Однако комментирование назначения заставляет полосу прокрутки списка работать должным образом.
Решение: Помимо поиска другого способа сделать форму перетаскиваемой, я хотел придерживаться библиотеки jQuery-UI, потому что я использую ее для других функций. Я обнаружил, что вместо создания перетаскиваемого компонента в форме мне нужно было создать компонент, когда указатель мыши перемещается по заголовку формы, и удалить компонент, когда указатель мыши отодвигается от заголовка формы. Я пробовал просто включать и отключать компонент, но это не сработало.
Вот ссылка на CodePen: https://codepen.io/howardb1/pen/aazWwY.
<div id = "songData"
style = "position: absolute; left: 626px; top: 8px; z-index: 99;
width: 672px; min-height: 423px; max-height: 635px;
padding: 0 28px 28px 28px; border: 5px double black;
background-color: white; color: black;">
<!-- **********************************************************************
Prevent the songData 'form' area dragging when the mouse isn't over
the songData Title.
This prevents a problem with the selectize drop-down list that causes
the list to loose focus when the options scrollbar is clicked.
****************************************************************** -->
<div id = "songDataTitle"
style = "margin-left: -28px; padding: 28px; height: 20px; width: 100%;
text-align: center; font-size: 20px; font-weight: bold;
cursor: move;"
onmouseover = "songData_dragable( true );"
onmouseout = "songData_dragable( false );">
Song Information Form
</div>
<script>
function songData_dragable( mode ) {
if ( !mode )
$( '#songData' ).draggable( 'destroy' );
else
$( '#songData' ).draggable( { handle : '#songDataTitle' } );
// End of if ( !mode ) ... else ...
} // End of songData_dragable( mode ) function.
</script>
<!-- rest of the web-page goes here -->
Незначительные изменения формулировок для удобства чтения