淘汰赛图像触摸事件

时间:2017-09-19 16:53:47

标签: jquery knockout.js

我有以下代码在笔记本电脑/台式机上正常工作

<img data-bind="click: $root.previewImage, attr:{src: DocFile, data: DocFile}" 
class="card-img-top" alt=""/>

self.previewImage = function (prev) {
    $('#loading').show();

    var width = $(window).width();
    var height = $(document).width();

    $("#ImgPreview").attr('height', $(window).height() * 0.7);
    $('#ImgPreview').attr('src', ko.toJS(prev.DocFile));

    $('.modal .modal-body').css('max-height', $(window).height() * 0.8);
    $('#myModal').modal('show');

    $('#loading').hide();
};

但是当我转入移动设备时,点击事件无效。

1 个答案:

答案 0 :(得分:0)

尝试添加&#34; touchend&#34;事件。保持&#34;点击&#34;用于桌面浏览器的绑定,只需添加&#34; touchend&#34;事件绑定调用相同的函数&#34;点击&#34;调用。最终结果看起来像这样:

<img data-bind="click: $root.previewImage, event: { touchend: $root.previewImage }, attr:{src: DocFile, data: DocFile}" class="card-img-top" alt=""/>

这应该适用于大多数移动浏览器。有关&#34; touchend&#34;的更多信息可以找到事件(包括浏览器兼容性)here