Двойной щелчок не работает на iOS и Android (PhoneJS)
Я пытаюсь показать всплывающее окно при событии двойного щелчка (в поле таблицы), поэтому я добавляю это действие методом выбивания. Это событие работает в браузере, но не работает на платформе IOS или Android. Что я должен сделать, чтобы это исправить?
<div class="contentContainer" data-bind="dxScrollView: { direction: 'vertical' }">
<div class="dx-fieldset">
<div data-bind="foreach: finalDataSource">
<div class="dx-field">
<div class="dataKey dx-field-label" data-bind="text: $data.ColumnName, event: { dblclick: $root.showPopup }"></div>
<div class="dataValue inp dx-field-value" data-bind="
dxTextBox: { enable: false, value: $data.Value, clickAction: $root.inpClick }">
</div>
</div>
</div>
</div>
</div>
function showPopup(sender) {
MyApp.app.column.id(sender.ColumnId);
MyApp.app.column.name(sender.ColumnName);
getPopupDataSource();
popupVisible(true);
}
1 ответ
Решение
Проблема решена с помощью hammer.js
var elements = document.getElementsByClassName('dataKey');
for (i = 0; i < elements.length; i++) {
Hammer(elements[i]).on("doubletap", function (event) {
showPopup(ko.dataFor(event.srcElement));
});
}
Это действие запущено на "viewShown"
Теперь на событии doubleTap появляется мое всплывающее окно.