我想知道是否有任何方法可以得到压力水平(压力用户点击鼠标键/按钮)点击。任何资源或链接?对不起,我的英语不好,希望我的问题是明确的,希望不仅仅是乌托邦!
m4pnthwp1#
正如本帖中的许多其他人所指出的,几乎所有的电脑鼠标都不测量所用的压力,所以你无法测量它。然而,还有一些不同于鼠标的指点设备,比如绘图板或触控板。在Firefox等基于Gecko的浏览器中,鼠标事件上有一个非标准的mozPressure属性。你可以像这样使用它:
mozPressure
document.addEventListener('click', function (e) { alert(e.mozPressure); });
mozPressure是一个介于0.0和1.0之间的值,取决于鼠标被按下的力度。如果您使用的是普通鼠标或其他无法检测到压力的鼠标,则该值将始终为0。Reference.
py49o6xq2#
鼠标(硬件)不会记录你点击它的力度,javascript也无法追踪不存在的东西。
ff29svar3#
这显然不是一个关于物理压力的问题,而是一个测量用户按住鼠标键多长时间,并根据这些信息增加某些效果的频率的方法。
someButton.addEventListener('mousedown', function(e) { if (e.button == 0) { someRelevantParentContainer.mouse0Pressed = true; window.addEventListener('mouseup', function() { someRelevantParentContainer.mouse0Pressed = false; }, {once : true}); const func = function() { if (someRelevantParentContainer.mouse0Pressed && !someButton.disabled) { // do something return true; } else { return false; } }; recurAction(func, 200); } }); function recurAction(func, startingTimeout, minTimeout = 50) { if (!func()) { return; } if (startingTimeout > minTimeout) { setTimeout(function() { const cont = func(); if (cont) { recurAction(func, startingTimeout / 1.3); } }, startingTimeout); } else { const inter = setInterval(function() { if (!func()) { clearInterval(inter); } }, minTimeout); } }
3条答案
按热度按时间m4pnthwp1#
正如本帖中的许多其他人所指出的,几乎所有的电脑鼠标都不测量所用的压力,所以你无法测量它。然而,还有一些不同于鼠标的指点设备,比如绘图板或触控板。在Firefox等基于Gecko的浏览器中,鼠标事件上有一个非标准的
mozPressure
属性。你可以像这样使用它:mozPressure
是一个介于0.0和1.0之间的值,取决于鼠标被按下的力度。如果您使用的是普通鼠标或其他无法检测到压力的鼠标,则该值将始终为0。Reference.
py49o6xq2#
鼠标(硬件)不会记录你点击它的力度,javascript也无法追踪不存在的东西。
ff29svar3#
这显然不是一个关于物理压力的问题,而是一个测量用户按住鼠标键多长时间,并根据这些信息增加某些效果的频率的方法。