是否可以在页面加载后使用JavaScript获取鼠标位置而无需任何鼠标移动事件(不移动鼠标)?
我需要使用(最好)jQuery来保持绝对鼠标位置/坐标(X和Y),就像在本教程中一样,但在任何JavaScript事件之外.谢谢.
我想在浏览器中写一些东西,在触控板上记录手势.
由于我希望能够跟踪所有运动而不必担心指针离开窗口,我首先研究了这个问题并使用MDN Pointer Lock API演示作为起点.
但是我注意到在MacBook上使用这个演示时,如果我抬起手指并在触控板上的其他位置开始新的拖动,它会忽略我的手指在空中移动的距离,它只计算在我的手指触摸触控板时完成的动作.这与通常使用触控板在操作系统中移动鼠标指针的方式一致.
但是对于我的具体应用,我希望我的手指的绝对 x和y在触控板上.是否可以构建上面链接的演示变体,其中红点对应于手指的绝对位置?例如,如果你抬起手指然后将其放在左上角,红点总会跳到画布的左上角?
我知道javascript Touch Events API,它在平板电脑上使用时提供绝对坐标,但在Firefox(v36)或Chrome(v41)下在MacBook上运行时,演示不会注册任何触控板输入.
我还读到可以在Chrome中启用触摸仿真,虽然我找不到我的版本下的复选框(也许只有特殊的开发人员版本才有这个),并且通过阅读它,它似乎更像是一个鼠标触摸翻译所以我怀疑该仿真会对触控板有特定的支持.
有没有办法通过HTML/Javascript获取MacBook触控板上触摸事件的绝对x,y坐标?
我有一个javascript函数,根据鼠标位置移动一个div.此函数在setInterval()函数上设置并每秒执行一次.我需要像这样捕获鼠标位置:
function mousemov() {
document.getElementById("myDiv").style.left = Event.clientX; //don't work
}
window.onload = function() {
setInterval("mousemov()",1000);
}
Run Code Online (Sandbox Code Playgroud)
Ps:我无法使用mousemove事件,因为即使鼠标停止也必须执行该功能.
谢谢你的帮助!
我有一个带有min="1"
和max="12"
值集的简单数字输入,这用作小时选择器.我希望它可以在几小时内循环,所以当你到达12
并按下"向上"箭头时,它会返回到1
反之亦然.
现在我有这个主要工作:
var inputTimer = null;
function cycle(element) {
if (element.attributes.max && element.attributes.min) {
var prevVal = element.value;
inputTimer = setTimeout(function() {
if (prevVal === element.attributes.max.value) {
element.value = element.attributes.min.value;
} else if (prevVal === element.attributes.min.value) {
element.value = element.attributes.max.value;
}
}, 50);
}
}
$("input[type='number']")
.on("mousedown", function(e) {
//this event happens before the `input` event!
cycle(this);
}).on('keydown', function(e) {
//up & down arrow keys
//this event happens before the `input` event! …
Run Code Online (Sandbox Code Playgroud)我是javascript和数据库操作的新手.
有没有一种方法,每次用户进入页面时,鼠标移动开始记录,一旦用户离开页面,所有数据(Coords x和y,以及时间)都存储在数据库中供以后分析?
我知道很多网站都这样做,所以必须有一个简单的方法来做到这一点.
一个例子很好,我的数据库是MySql,我的网站是wordpress.
WRT构建Firefox附加组件.
是否可以通过一些XPCOM或javascript方法获取鼠标下的元素?(非js-ctypes请,因为这需要操作系统特异性)
当用户按下Ctrl+ Shift+ 时,我想检测鼠标下面的内容M.
现在mouseover
,当用户按下这个热键时,我正在为文档添加一个监听器,所以当他移动它时我可以在鼠标下面获取该元素,而不是当他按下热键组合时正好在鼠标下面的元素.
当用户单击窗口的任何部分时,我试图获取单击的位置.我在许多教程中发现了这段代码,但似乎没有用.
(function( $ ) {
$( document ).ready(function() {
$( window ).click(function( e ) {
var offset = $(this).offset(),
relativeX = (e.pageX - offset.left),
relativeY = (e.pageY - offset.top);
alert("X: " + relativeX + " Y: " + relativeY);
});
});
})( jQuery );
Run Code Online (Sandbox Code Playgroud)
Firefox控制台告诉我"TypeError:offset is undefined",我不明白为什么它不起作用.
检索窗口上的点击位置的正确方法是什么?
javascript ×7
mouseevent ×3
html5 ×2
jquery ×2
position ×2
dom-events ×1
events ×1
html ×1
mouse ×1
mysql ×1
offset ×1
touch ×1
trackpad ×1
xpcom ×1