Jquery 页面加载时触发的鼠标指针&;如果未触发其他鼠标指针事件
当我的页面加载时,我想在我的菜单项Jquery 页面加载时触发的鼠标指针&;如果未触发其他鼠标指针事件,jquery,pageload,mouseenter,mouseleave,Jquery,Pageload,Mouseenter,Mouseleave,当我的页面加载时,我想在我的菜单项“#currentitem a”上触发鼠标指针。我已经完成了: $(document).ready(function(){ $("#currentitem a").trigger('mouseenter'); }); 我的问题是,如果我用鼠标输入(手动)另一个项目,则触发的(上面有代码)项目不会被删除。菜单项重叠 我是一个新手,如果可能的话,我想做到以下几点 在pageload上的鼠标输入“#currentitem a” 当另一个项目触发鼠标指针时,鼠标移
“#currentitem a”
上触发鼠标指针。我已经完成了:
$(document).ready(function(){
$("#currentitem a").trigger('mouseenter');
});
我的问题是,如果我用鼠标输入(手动)另一个项目,则触发的(上面有代码)项目不会被删除。菜单项重叠
我是一个新手,如果可能的话,我想做到以下几点
“#currentitem a”
“#currentitem a”
“#currentitem a”
,因此该项总是在没有其他内容时触发现在,我创建了一个JSFIDLE来展示我正在尝试做什么:
以下是一些应该有效的尝试方法
$(function(){
$('#currentitem a').trigger('mouseenter');
$('.currentitem a').on('mouseenter', function(e) {
if ($('.currentitem a:focus').length > 0) {
$('.currentitem a:focus').blur();
}
});
});
如果这不工作,请让我知道,我会tweek它
编辑:
看了你的编辑后,我可能发现了你的问题
当您使用jQuery以元素为目标时,id属性在DOM中只应使用一次。假设你的html是这样的,我猜接下来的事情是当鼠标输入一个不同的项目(例如列表中的下一个li)时,你没有监听。如果这是真的,您只需要侦听其他li元素上的mouseenter
事件
最后,如果您正在收听这些事件,但它们不起作用,那么还有另一个事件它们可能对您起作用。事件为mouseover
中期编辑更新:
如果您说的是当您将鼠标直接移到“我们的项目”上而不点击任何其他内容时,菜单不会隐藏,这是因为鼠标从未“进入”元素,因此它不会隐藏自己,解决方法很简单:
$("#mydroplinemenu > ul > li[id!='currentitem'] > a").one('mouseenter', function(e) {
$('#currentitem a').trigger('mouseleave');
});
我的事件选择器只针对非#currentitem的链接元素,每个链接只触发一次。这也许正是你要找的!我在您的JSFIDLE上测试了它,它确实有效。当您的逻辑有缺陷时,就会发生这种情况。当鼠标离开某个元素时,您预计会发生一些事情,但很可能鼠标永远不会离开该元素,您可能应该做一些事情,如关闭所有其他菜单等。当鼠标进入新菜单项时,或者至少检查在进入另一个菜单项时,是否按预期关闭了所有菜单项,不仅仅是在离开的时候。非常感谢你的帮助。。但不幸的是,它的行为仍然和以前一样。我是jquery的新手,因此无法将其区分开来。任何调整都将不胜感激。很抱歉混淆了元素是一个id=currentitem(后期编辑)我现在创建了一个JSFiddle来显示我试图做什么:@xsample我已经更新了我的答案。您应该首先尝试的是在中间编辑更新之后