Фокус на выпадающем меню select2/select вызывает проблемы на мобильных устройствах. Клавиатура появляется и перекрывает параметры - общую и хорошо известную проблему. Один, у меня есть решение для ... https://jsfiddle.net/yw61h28z/Удалить фокус из виджета select2 durandel/ko
Мое приложение использует Durandel и нокаутом, и попытка применить это исправление кажется невозможным. Мой jquery игнорируется, я думаю, что он имеет какое-то отношение к дюрандальной композиции, но не совсем уверен.
View -
<div data-bind="attr: {'id': field.id + 'container'}">
<span class="linkify" data-bind="text: field.title"></span>
<span class="requiredAsterisk" data-bind="visible: field.mandatory">*</span>
<div data-bind="attr: {'id': field.id}">
<select id="dataCombo" class="form-control"
data-bind="autocomplete: {items: field.options,
idField: 'key', textField: 'value',
onSelect: handleSelection,
multiple: true}"
style="width: 100%"></select>
</div>
</div>
viewmodel.js -
define(['jquery','knockout'], function ($,ko) {
function PickListMultiViewModel() {
var self = this;
self.activate = function(input) {
self.field = input.data;
};
self.handleSelection = function (selectedOptions) {
if(!selectedOptions) {
return self.field.value();
}
self.field.value(_.map(selectedOptions, 'key'));
};
<!-- remove focus -->
$("#dataCombo").select2({
closeOnSelect: false
});
$("#dataCombo").on('select2:open', function (e, i) {
$(document.activeElement).blur()
});
<!-- remove focus end -->
}
return PickListMultiViewModel;
});