Question

I try to show popup on double click event (in table field), so I add this action by knockout approach. This event works in browser, but it doesn't work on ios or android platform. What should i do to fix this?

<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);
    }
Was it helpful?

Solution

Problem is resolved with 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));
                });
            }

This action is started on "viewShown"

Now on doubleTap event my popup appears.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top