Tag: 鼠标

jQuery – hover事件中显示的非嵌套/非后代兄弟导航

我有2个导航区域。 第二个应该出现在第一个元素hover在其上时,如果鼠标没有移动它,它应该消失。 我基本上有: HTML item 1 item 2 1 sub item 1 1 sub item 2 2 sub item 1 2 sub item 2 当我将鼠标hover在li.1和ul.2上时,我希望ul.1出现,当我将鼠标hover在li.2上时,我希望它们只有在我没有盘旋在子区域时才会消失。 我已经让它工作了一部分: JAVASCRIPT var sections = new Array(‘1’, ‘2’); $.each(sections, function(i, section) { $(‘ul.main li.’ + section).hover( function() { $(‘div.sub ul’).hide(); $(‘div.sub ul.’ + section).show(); } ); }); 这将显示正确的部分并隐藏其他部分,但我无法弄清楚我需要什么,以便当鼠标离开ul.main li时,.sub ul如果没有hover在上面就会消失。 […]

如何中断Hover的handlerOut

我有以下情况: 我有一个对象,我们称之为“按钮”。 当你在Button上移动时,它会使另一个对象“Info”向下滑动。 当然,当你的鼠标离开Button时,Info会向上滑动并消失。 但是,Info有一个链接,用户可能想要点击它。 我可以延迟Info的上滑,但是在我到达Info后我无法阻止它。 这是我正在使用的代码。 $(“#button”).hover(function(){ $(“#info”).slideDown(“fast”); }, function(){ //the handlerOut $(“#info”).delay(1000).slideUp(“fast”); }); 在hover它之后,如何告诉Button不要滑动信息?

jQuery:鼠标hover在元素上吗?

我可以很容易地写一些东西来确定鼠标是否在给定元素上,但是jQuery核心库(或者我猜的插件)中是否有任何东西可以告诉我当前鼠标位置是否超过给定元素?

为什么pageX和pageY相对于包装器而不是文件?

好的,所以我希望div’.prodimg’跟随鼠标位置。 这是有效的,除了它相对于#wrapper的左边位置,它是’.details’和’.prodimg’的父div。 为什么会这样? 任何修复它的建议或跟踪鼠标的替代方法? ‘.prodimg’顶部位置相对于#wrapper顶部,然后我将其更改为padding-top并更正.prodimg。 这与我的问题有关,但我找不到左侧位置的类似解决方案。 理想情况下,我不必更改包装器以使pageX和pageY与完整窗口相关。 我已尝试使用’#wrapper’位置:相对且没有任何改变。 ‘.details’必须是相对的,以便它可以浮动内联。 我把jquery输入到我的包装器下面。 我尝试使用’文档’代替’窗口’。 不确定是否与此有任何关系……请帮忙! 我在这个问题上已经失去了近3个小时:/ 这是我的小提琴: http : //jsfiddle.net/vg2zL/ $(document).ready(function() { var mouseX; var mouseY; $(window).mousemove( function(e) { mouseX = e.pageX; mouseY = e.pageY; }); $(“.details”).hover( function () { $(this).children(“.prodimg”).css(“visibility”,”visible”); $(window).bind(‘mousemove’, function(e){ $(“.details”).children(“.prodimg”).css({‘top’:mouseY,’left’:mouseX}); }); }, function () { $(“.prodimg”).css(“visibility”,”hidden”); }); }); 并且inheritance了我的风格 #wrapper { width: 700px; padding-top: […]

event.preventDefault(); 在Firefox中没有停止鼠标滚轮

我在jquery中使用鼠标滚轮来增加div的数量,数字正确增加但是在Firefox中没有停止滚动。 $(document).ready(function(){ $(‘#test’).bind(‘mousewheel DOMMouseScroll’, function(event){ var currentValue = parseInt($(‘#test’).text(),10), newValue = currentValue + 1; $(‘#test’).text(newValue); event.preventDefault(); }); }); 小提琴: http : //jsfiddle.net/rHVUn/ 小提琴使用标准鼠标滚轮检测,但我也使用了Brandon Aaron的鼠标滚轮插件,它也有同样的问题。 删除更新文本的行(我也尝试过html())解决了问题,但这是代码的关键部分,无法删除。 有谁知道如何解决这个问题? 谢谢 更新:我发现问题只发生在我的鼠标直接放在文本上方,如果我的鼠标在框内而不是在文本上(在填充内)滚动停止

我应该如何使用jquery的实时function模拟mouseenter事件?

我想为mouseenter事件使用jQuery的强大实时function,但它目前不受支持。 下面是我的第一个解决方案,但它似乎不是最佳的。 建议? 改进? // mouseenter emulation jQuery(‘.selector’).live(‘mouseover’,function (e) { // live sees all mouseover events within the selector // only concerned about events where the selector is the target if (this != e.target) return; // examine relatedTarget’s parents to see if target is a parent. // if target is a parent, we’re “leaving” not […]

将鼠标滚轮绑定到Jquery UI滑块

我做了搜索,有一些类似的post,但我似乎无法让它工作。 我知道这是陈词滥调,但我是JQuery和JQuery UI的新手,因为我的核心技能是PHP,所以任何帮助都非常感谢。 下面是我对JQuery垂直滑块的代码。 $(“#VerticalScrollBar”).slider({ orientation: “vertical”, change: VerticalHandleChange, slide: VerticalHandleSlide, min: -100, max: 0 }); 和function function VerticalHandleChange(e, ui) { var maxScroll = $(“.VerticalScroll”).attr(“scrollHeight”) – $(“.VerticalScroll”).height(); $(“.VerticalScroll”).animate({ scrollTop: -ui.value * (maxScroll / 100) }, 1000); function VerticalHandleSlide(e, ui) { var maxScroll = $(“.VerticalScroll”).attr(“scrollHeight”) – $(“.VerticalScroll”).height(); $(“.VerticalScroll”).attr({ scrollTop: -ui.value * (maxScroll / 100) }); 垂直滑块工作正常,但现在我需要集成鼠标滚轮支持。 […]

jQuery:检测cmd +单击/控制+单击

我在选项卡中有我的Web应用程序的选项。 aaa bbb ccc ddd eee 当用户点击任何选项卡(在同一窗口中)时,我会使用此代码获得淡出效果,然后自动重定向: $(‘ul#tabs li a’).click(function(e){ if(e.which == 1) { var link = $(this).attr(‘href’); $(‘#content’).fadeOut(‘fast’,function(){ window.location = link; }); } }); 它工作得很好,因为它忽略了鼠标中键单击(在新选项卡中打开选项时,不应触发效果)。 问题是,如果我用键盘+鼠标组合打开选项卡,而不是打开新选项卡,它会触发整个效果/重定向代码。 那么,我怎么能用jQuery检测到这个: cmd +鼠标左键单击(mac) 控制+鼠标左键单击(windows / linux)

jQueryUI自动完成’select’在鼠标单击时不起作用,但适用于关键事件

JS / JQuery的: $this.find(‘input’).autocomplete({ source: “/autocomplete_tc_testcasename”, minLength: 2, focus: function(e,ui){ $(this).val(ui.item.label); return false; }, select: function(e, ui) { console.log(“Selected: “+ui.item.value); } }); CSS: .ui-autocomplete { max-height: 200px; overflow-y: auto; padding: 5px; } .ui-menu { list-style: none; background-color: #FFFFEE; width: 50%; padding: 0px; border-bottom: 1px solid #DDDDDD; border-radius: 6px; -webkit-box-shadow: 0 8px 6px -6px black; -moz-box-shadow: […]

在可滚动的div中获取鼠标位置

在过去的几天里,另一个问题一直困扰着我。 正如您可能从我的其他问题中看到的,我正在创建一些思维导图软件。 所以(非常简化)我有两个div。 一个是页面上的正方形,另一个是div中的大约10倍大且可拖动的。 这样可以将对象放置在屏幕上,然后稍微移动到侧面,同时添加另一个对象等。我通过创建外部div可滚动来实现这一点。 我遇到的问题与java脚本中的鼠标位置有关。 如果我在div中的任何位置获得鼠标位置它将不正确,因为我将内部div的大小减半到顶部和左侧(因此用户有效地看着canvas的中间并且可以按照他们喜欢的方式) 。 我已经尝试了数十种不同的鼠标坐标function,但这些function似乎都不起作用。 我在网络上找到的应该是跨浏览器的示例是: function getMouse(e) { var posx; var posy; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.getElementById(“canvas”).scrollLeft; posy = e.clientY + document.body.scrollTop + document.getElementById(“canvas”).scrollTop; […]