我已经尝试了一切让touchstart
不断更新touch.radiusX
......但没有任何效果。
出于某种原因 setInterval 无效。
我想要实现的目标
我在force touch
处于活动状态时,通过touch.radiusX
的不断更新来尝试模拟touchstart
。
抬头
这是网站按钮
是的我知道touch.force
但我不希望touch.force
由于它不能在android上工作
我所知道的
我知道touch.radiusX
和android
都支持iOS
所以基本上如果我可以在touch.radiusX
期间不断更新touchstart
我可以在两个平台上模拟force.touch
。
我有什么
目前我可以获得touch.radiusX
但每touchstart
只有一次
当用户是touching
元素时,我需要它。
On touchstart
every X-milliseconds
element.innerHTML = touch.radiusX
On touchend
reset to 0
var src = document.getElementById("myElement");
src.addEventListener('touchstart', rotate);
function rotate(e) {
var touch = e.changedTouches.item(0);
e.preventDefault();
src.innerHTML = touch.radiusX
};

<div id="myElement" style="width: 100%; height: 100%; background: #f5f5f5; position: fixed;">
</div>
&#13;
答案 0 :(得分:0)
这可能会假设radiusX更新为更改:
var src = document.getElementById("myElement");
src.addEventListener('touchstart', rotate, true);
function rotate(e) {
var touch = e.changedTouches.item(0);
e.preventDefault();
setTimeout(function detect(){
src.innerHTML = touch.radiusX;
if(touch. .radiusX===0){return; };
detect();
}, 16);
};
<div id="myElement" style="width: 100%; height: 100%; background: #f5f5f5; position: fixed;">
</div>