【问题标题】:Hammers.js and table touch eventsHammers.js 和表格触摸事件
【发布时间】:2017-07-21 16:33:45
【问题描述】:

我有一个想法,要制作一些适合触摸设备的网页,并且我有一个包含行和列的表格。我计划单击某个单元格并调用不同的页面或功能。我需要对 tap、doubletap 和 taphold 表事件的支持,在长时间使用 jQuery 和 jQm 之后,我放弃了,因为 taphold 没有被正确识别,而不是像 tap。由于我决定求助于hammer.js,但我无法强制这个插件使用表格TD单元格,仅使用DIV,

等。例如,我需要双击一些 TD,读取点击的单元格(内容、ID、列和行信息)但没有分数。如何解决这个问题?有没有可能:

        var myElement0 = document.getElementById('tbl_hours td');
        // create a simple instance
        // by default, it only adds horizontal recognizers
        var mc0 = new Hammer(myElement0);
        // listen to events...
        mc1.on("panleft panright tap press doubletap", function(ev) {
            myElement0.textContent = ev.type +" gesture is detected.";
        });

表的 ID 是 tbl_hours,但没有 TD 单元有自己的 ID。谢谢。

【问题讨论】:

    标签: jquery jquery-mobile hammer.js


    【解决方案1】:

    我没有完整的答案,但这是我找到的 TAP 的解决方案;

    var tab = document.getElementById("tbl_hours"); // reference to table
    Hammer(tab).on('tap',function(ev){ 
    ev.target.style.background='red'; //will give red background for the held cell
    });
    

    以同样的方式,我尝试了双击但不起作用。

    【讨论】:

    • 谢谢,我想看看其他事件的解决方案:双击并按住。请问有人吗?
    • 双击更难,这里是关于该主题的讨论(+代码):github.com/mckamey/doubleTap.js/blob/master/README.md
    • @deblocker:谢谢伙计,我会尝试实施建议的解决方案。我希望它对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多