Tag: mouseevent

如何根据容器内的鼠标位置正确滚动溢出的div

我正在研究一个小的jQuery插件,它根据容器div中的鼠标位置自动滚动容器div中的一组溢出元素。 在这里看演示 这个插件的想法是改进我刚才写的东西。 请参阅左下角的自动滚动导航这里的老问题是,当您从容器div的底部(javascript透视图)以外的任何位置进行鼠标导入时它会跳转。 现在一切都运行良好我的插件但是当你从顶部进入mouseenter时它会不时地拧紧(快速移动你的鼠标进入和移出它肯定会发生),我想这是因为我从我得到了不同的价值mouseenter事件和我的mousemove事件,它们都用于计算如何滚动内部元素。 这是函数,其余的源代码非常小而且评论很好。 projList.mousemove(function(e){ //keep it from freaking out when we mouseenter from Top of div if(enterMouseY > divHeight){ enterMouseY = divHeight; } mouseY = e.pageY-projList.offset().top; //ok that didnt work… try to keep it from freaking out when we mouseenter from Top of div if (mouseY > divHeight){ mouseY = divHeight; } […]

jQuery:如何获得我在整个文档正文中全局hover的最里面的dom元素?

我想检测整个文档主体上的鼠标移动,并能够准确地告诉我正在盘旋的DOM的哪个部分。 “哪个部分”是指鼠标当前所在的最内层DOM元素。 我可以将hover绑定到整个文档正文,但是然后$(this)会给我$(body),而不是最里面的元素。 或者我可以递归迭代整个DOM并将hover绑定到每个元素,但这将是一个严重的矫枉过正的IMO。 有没有一种简单的方法来实现这一目标?

jQuery检测鼠标停留在元素上的秒数

有没有办法检测鼠标指针停留在html元素上的秒数? 我想检索鼠标停留在元素上的秒数,以便在回调事件上稍微延迟…如果可能的话:) 我正在尝试通过计数器进行简单的for()循环检测: var time_over ; $(‘.bean-active’).live(‘mouseover’,function(){ id_tag = $(this).attr(“id”); for(time_over = 1;time_over <= 3000;time_over ++){ if(time_over == 3000){ $('.bean-bubble,.bean-bubble img').hide(); $('#bean-bubble-'+id_tag+',#bean-bubble-'+id_tag+' img').show(); } } }); 问题是它不起作用:( 另外我想绑定一个mouseleave事件,脚本逻辑应该是: while ( mouseover element count how many time it stays over) if (time == n) { do somenthing } if (mouseleave from element earlier then time) { […]

Javascript点击和mousedown冲突

我有一个特定的场景,我使用click来插入一个div,然后在该div上进行mousedown拖动它。 我将click绑定到父容器,并将div本身绑定到div上。 但是,当我在div上进行moused时,它也会触发父对象的点击,因此插入多个div而不是拖动已经添加的div! 有没有办法解决这个问题? 我无法取消绑定click ,因为我需要使用click添加2个div,然后在这些上绑定mousedown 。 更新:我正在使用selector.on(event, handler)类型的绑定。

如何用鼠标点击绝对定位的图像区域图?

我使用绝对定位将几个图像放在彼此的顶部。 这些图像是部分透明的,并且具有html area和map ,只能使可见部分可点击。 在jQuery中,我将鼠标事件附加到area标记。 这适用于一个图像:只有在输入图像的映射部分时,mouseenter和mouseleave才会触发。 问题是它只适用于顶部图像。 对于所有其他人来说,它不会触发事件而不是CSShover工作,因为它上面还有另一个图像。 尽管area s不重叠并且map s位于图像前面。 以下是该问题的演示: http : //markv.nl/stack/imgmap2/

当鼠标(或手指)不再拖动时,我怎样才能在更改时运行AJAX调用?

我有一系列交互式滑块可以更改计算值。 计算在拖动手柄的每个微小移动上运行(通过mousedown或触摸拖动事件)。 我需要使用值更新数据库,但是只想在用户“删除”句柄后获取值。 如何确定手指或鼠标是否已关闭,以便跳过AJAX调用? function handleIsBeingDragged() { // calculations based on all the input values here // pseudo-code to check for mouseup event if (mouseUp) { // save only if mouse is now up – to avoid hundreds of updates per drag event $.ajax(); } }

canvas获取鼠标事件的点数

我有以下function来获取鼠标点击位置(坐标)。 $(‘#myCanvas’).on(‘click’, function(e) { event = e; event = event || window.event; var canvas = document.getElementById(‘myCanvas’), x = event.pageX – canvas.offsetLeft, y = event.pageY – canvas.offsetTop; alert(x + ‘ ‘ + y); }); 我需要在点击一个位置时获得鼠标点,并在拖动鼠标点位置后将其锁定。 即,mousedown point和mouseup points。

如果鼠标hover在元素上一段时间,则显示弹出窗口

我想知道如何在鼠标hover在元素上一段时间后显示弹出/提示框,例如伪代码: if mouseover if hovered for more than 2 seconds –> show popup/tipbox else —> cancel mouseover else if mouseout –> reset timer/cancel mouseover 到目前为止我已经完成了这项工作,但它无法有效工作,如果我快速移动并移动鼠标,它仍然会显示弹出/提示框。 $(‘a[rel=tip]’).live(‘mouseover mouseout’, function(e) { if(e.type == ‘mouseover’) { var mouseTime = setTimeout(function() { $(‘.tipbox’).slideDown(‘fast’); }, 1000); } else if(e.type == ‘mouseout’) { if(mouseTime) { cancelTimeout(mouseTime); mouseTime = null; $(‘.tipbox’).slideUp(‘fast’); } […]

当mouseDown按下js时如何实现mousemove

我只有在按下鼠标时才能实现鼠标移动事件。 只有当鼠标按下并且鼠标移动时,我才需要执行“OK Moved”。 我用过这段代码 $(“.floor”).mousedown(function() { $(“.floor”).bind(‘mouseover’,function(){ alert(“OK Moved!”); }); }) .mouseup(function() { $(“.floor”).unbind(‘mouseover’); });

窗外的JQuery mouseup – 可能吗?

我正在努力实现一个基本的阻力。 在mousedown上项目开始拖动,但速度与鼠标不同,所以当鼠标在窗口外时我继续拖动,但如果鼠标没有在页面上,我就无法获得鼠标事件。 我可以看到其他页面这样做,所以我知道它是可能的。 感谢任何帮助。 编辑:例如 在Vimeo上播放任何videohttp://vimeo.com/19831216确保屏幕上的窗口足够小,上方有空格,然后左右拖动video的进度条,现在将光标移到窗口的上边缘外还在左/右拖 – 看? 现在释放鼠标按钮,同时仍在窗口外 – 拖动结束,video继续播放。 注意:Vimeo可以选择使用flash播放器或HTML5播放器,这与html5播放器有关。