Двойной щелчок не работает на 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 появляется мое всплывающее окно.

Другие вопросы по тегам