Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
力量或半径的JavaScript触摸事件更新_Javascript_Events_Touch_Dom Events - Fatal编程技术网

力量或半径的JavaScript触摸事件更新

力量或半径的JavaScript触摸事件更新,javascript,events,touch,dom-events,Javascript,Events,Touch,Dom Events,JavaScript触摸事件包含半径和力的属性。不幸的是,当两个属性中的任何一个发生更改时,似乎都不会生成事件。事件仅在触摸开始、移动或结束时触发。有人能想出一种方法来获得更多关于触摸屏尺寸变化的更新吗 目前要获得radius更新,我必须摆动手指来触发触摸移动事件,但我更喜欢软件解决方案。我也遇到了同样的问题,然后发现了这篇博文: 简而言之,我们需要使用touchstart事件捕获触摸事件,将事件分配给变量,然后使用setInterval获取force值: var el = document.g

JavaScript触摸事件包含半径和力的属性。不幸的是,当两个属性中的任何一个发生更改时,似乎都不会生成事件。事件仅在触摸开始、移动或结束时触发。有人能想出一种方法来获得更多关于触摸屏尺寸变化的更新吗


目前要获得radius更新,我必须摆动手指来触发触摸移动事件,但我更喜欢软件解决方案。

我也遇到了同样的问题,然后发现了这篇博文:

简而言之,我们需要使用
touchstart
事件捕获触摸事件,将事件分配给变量,然后使用
setInterval
获取
force
值:

var el = document.getElementById('myElement');
var currTouch = null;
var currTouchInterval = null;

attachListeners = function () {
    el.addEventListener('touchstart', enterForceTouch, false);
    el.addEventListener('touchend', exitForceTouch, false);
}

enterForceTouch = function (evt) {
    evt.preventDefault();
    currTouch = evt;
    currTouchInterval = setInterval(updateForceTouch, 10); // 100 times per second.
}

updateForceTouch = function() {
    if (currTouch) {
        console.log(currTouch.touches[0].force); // Log our current force value.
    }
}

exitForceTouch = function (evt) {
    evt.preventDefault();
    currTouch = null;
    clearInterval(currTouchInterval);
}

attachListeners();