草庐IT

MOUSEMOVE

全部标签

javascript - 使用 Javascript D3 库,如何在 mousemove 事件中确定鼠标在区域元素数据集中的位置?

我正在尝试为我创建的区域路径设置工具提示。我检查了传递给onmousemove事件处理程序的所有参数,我只是得到了完整的数据集0、0。据我所知,没有任何数据表明我在数据中的索引。“这个”上下文也是svg路径元素。还是没什么用。即使查看了d3.select(this),我也无法在任何地方找到索引。有什么方法可以确定我的鼠标在哪个数据点上吗?环顾四周,我发现了对d3.mouse(this)的引用,它为我提供了x/y坐标,但我如何将其映射回数据集中的数据点?我的目标是有一个工具提示来显示与集合中特定数据点相关的一些元数据。这里是一些请求的代码片段:vararea=d3.svg.area().

javascript - d3 在 mousemove 上创建节点的上下文中插入 vs 追加

在下面的代码中,作者使用.insert将圆定位在矩形“之前”(我相信实际上它们出现在顶部)而不是将它们直接附加到svg空间。我认为这是不必要的,所以删除了rect和.insert并将圆形元素直接附加到svg空间。然而,结果是圆圈“画得不够快”(因为缺乏更明确的解释)。任何人都可以解释为什么这会发生在我身上,或者给我指出一些确实解释它的文献的方向吗?varwidth=Math.max(900,innerWidth),height=Math.max(700,innerHeight)varsvg=d3.select("body").append("svg").attr({"width":wi

javascript - 添加 View 框时鼠标位置发生变化

我目前正在学习和使用JavaScript和SVG,我是新手。这是我的场景我有一个div,里面有一个SVG。现在我想知道鼠标相对于我的div的位置所以我写了下面的代码odiv=document.querySelector('#O_div');XOffset=$(Odiv).position().left;YOffset=$(Odiv).position().top;//Andonmymousemoveevent$('#O_div').mousemove(function(event){varmouseX=event.clientX-XOffset;varmouseY=event.clie

javascript - 即使鼠标不移动,Webkit 和 Safari 也会触发 mousemove

我读过有关mousemove事件在Safari/Webkit中被触发两次的问题,但我面临的问题是mousemove即使在鼠标移动时也会触发未移动。也就是说:当鼠标光标位于加载/刷新页面时事件所附加的上下文上方时,它已经触发。因为我将它附加到document(浏览器的整个视口(viewport)),它会立即在Safari中触发。我试图将它附加到html元素、body和包装器div。没有变化。$(document).bind('mousemove',function(){alert('Mousemoved!');$(document).unbind('mousemove');});在其他浏

javascript - 平滑的 Javascript mousemove 类似于 Cubism.js

我很好奇MikeBostock如何能够以如此流畅的方式创建一条跟随鼠标光标的垂直线。如果你看这里http://square.github.com/cubism/,你可以明白我在说什么。看看我刚刚在这里制作的一个简单示例:http://jsfiddle.net/zbfUq/在我的示例中,有很多次该行实际上消失了。他是否正在做某种位置插值以在未记录的两个点之间创建平滑的平移?如果是这样,有人知道如何做这样的事情吗? 最佳答案 我已经为您制作了一个工作示例:http://jsfiddle.net/zbfUq/37/本质上,您已经在onmo

javascript - 使用 jQuery 在 mousedown 函数中绑定(bind) mousemove

我正在尝试绑定(bind)mousemove当按下鼠标左键时将事件发送到div,并在释放时取消绑定(bind)。这段代码应该是不言自明的。functionhandleMouseDown(e,sbar){if(e.button==0){console.log(sbar);//firebugsbar.bind('mousemove',function(event){handleMouseMove(event,sbar);});}}functionhandleMouseUp(e,sbar){sbar.unbind('mousemove');}functionhandleMouseMove(e

javascript - 如何在mouseDown按下js时实现mousemove

只有在按下鼠标时我才需要实现鼠标移动事件。只有当鼠标按下和移动时,我才需要执行“OKMoved”。我用过这段代码$(".floor").mousedown(function(){$(".floor").bind('mouseover',function(){alert("OKMoved!");});}).mouseup(function(){$(".floor").unbind('mouseover');}); 最佳答案 使用mousemove事件。来自mousemove和mouseoverjquery文档:Themousemove

javascript - Vue mousemove 仅在 mousedown 之后

如何仅在先单击元素时才触发mousemove?我正在尝试将其用于音频播放器时间轴。.player__time--bar(@mousedown="setNewCurrentPosition($event)").slider(role="slider"aria-valuemin="0":aria-valuenow="currentPosition":aria-valuemax="trackTotalDuration"aria-orientation="horizontal").player__time--bar-current-position(:style="{width:(100/(t

javascript - .mousemove 和内存,我需要优化吗?

我在这里创建了一个简单的光测试演示:http://jsfiddle.net/CGr9d/当我使用Chrome开发工具记录内存使用情况时,我得到:http://cl.ly/LSDl,它基本上上升到某个点然后再次下降并重新开始,直到再次达到之前的高点。这正常吗?有什么方法可以优化我的代码以减少内存占用吗?这是我的mousemove函数:$('body').mousemove(function(e){//2000ishalftheimagewidth/height,ofcourseusedforcentering$('.light-circle').css({backgroundPositi

javascript - mousemove 的触发如何在 Javascript 中工作?

我有一个对象,它在每次鼠标移动时打印鼠标的x和y位置。是这样的:$('#canvas').mousemove(function(e){$('#output').prepend(e.pageX+','+e.pageY);});我注意到,当您非常快速地移动对象时,它只会打印出几个位置。我对它这样做并不完全不满意(因为让它为您跨越的所有数百个像素做一些事情会非常详尽)但我想知道它是如何工作的。mousemove事件是否限制为每秒一定数量的触发或什么?(顺便说一句:这是在UbuntuLinux的Chromium上测试的) 最佳答案 "Mic