触摸iphone中的表格单元格上的事件

我有一个6列cols 8行的表。

           
           
           
           
           
           
           
           

当用户触摸并移动到桌子的单元格时,我必须实现这一点,这些单元格将填充一些字母或符号。 我已经尝试了以下但它不起作用,它只填充了我开始触摸的第一个单元格。

 $("#patterntable td").on("touchmove",function(ev){ ev.preventDefault(); var e = ev.originalEvent; $.each( e.touches, function( key, value ) { var touch = e.touches[key]; if (touch.target.innerText != "\xA0"){ touch.target.innerText = "\xA0"; } else { touch.target.innerText = patternSymbol; } }); }); 

请有人帮忙。

我有一个类似的问题 – 我用一张复选框制作了一个生活游戏的HTML端口。 我能够创建一个很酷的mousedown界面,允许“玩家”通过拖动鼠标在板上绘制,并希望对触摸设备做同样的事情。

不幸的是,触摸事件只保存对它们开始的DOM元素的引用(即“touchstart”触发的地方),并且不识别它们下面存在的DOM元素。 相反,触摸事件维护几个Touch对象列表 – 表示与触摸屏的交互。 在这些对象中,属性是clientX和clientY,它们指示事件相对于视口的X和Y坐标。

我决定看看DOM是否提供了可以根据这些坐标识别DOM元素的查找函数,并且由于以下问题找到了“document.elementFromPoint”: 通过绝对坐标定位DOM元素 。

最后,我创建了一个’touchmove’事件监听器,它使用相关触摸事件的坐标(对我来说,这是e.touches [0])调用了elementFromPoint方法,然后对elemet进行了适当的更改(在我的情况下,切换文本框已检查属性)。 这是一个事件监听器:

 //this.gameGrid is a parent element for the checkboxes this.gameGrid.addEventListener("touchmove", function(e) { // get the touch element var touch = e.touches[0]; // get the DOM element var checkbox = document.elementFromPoint(touch.clientX, touch.clientY); // make sure an element was found - some areas on the page may have no elements if (checkbox) { // interact with the DOM element checkbox.checked = !checkbox.checked; } ... }); 

可以在此处找到工作示例的链接,该示例的完整源代码以及有关此答案的研究的更多说明: https : //gist.github.com/VehpuS/6fd5dca2ea8cd0eb0471