【发布时间】:2017-04-13 07:50:49
【问题描述】:
专注于 select2 下拉/选择框会导致移动设备出现问题。键盘出现并与选项重叠 - 这是一个常见且众所周知的问题。我有一个解决方案... https://jsfiddle.net/yw61h28z/
我的应用程序使用 Durandel 和淘汰赛,尝试应用此修复似乎是不可能的。我的 jquery 被忽略了,我认为这与 durandal 组合有关,但不完全确定。
查看 -
<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;
});
【问题讨论】:
标签: jquery knockout.js durandal