【问题标题】:Knockout image touch event敲除图像触摸事件
【发布时间】:2017-09-21 15:21:07
【问题描述】:

我有以下代码在笔记本电脑/台式机上运行良好

<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();
};

但是当我变成移动设备时,点击事件不起作用。

【问题讨论】:

标签: jquery knockout.js


【解决方案1】:

尝试同时添加“touchend”事件。保留桌面浏览器的“click”绑定,只需添加“touchend”事件绑定即可调用“click”调用的相同函数。最终结果将如下所示:

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

这应该涵盖大多数移动浏览器。有关“touchend”事件的更多信息(包括浏览器兼容性)可以找到here。

【讨论】:

  • 非常感谢您的宝贵意见。但我发布的代码工作正常。我放错了
    部分,这就是它没有响应的原因。非常感谢您的回复。
  • 很高兴听到这个消息!
猜你喜欢
相关资源
最近更新 更多
热门标签