【发布时间】:2016-04-04 07:46:52
【问题描述】:
我正在尝试使用 jQuery 模拟鼠标悬停在元素上。
这与在元素中添加:hover 不同;我想要在功能上与使用 $(element).click() 类似的东西,但是使用 $(element).hover() 对我不起作用。
有问题的元素是(据我所知)使用带有悬停工具提示的 jQuery UI 日期选择器;对于一个实时示例,请参阅an AirBnB listing,单击右侧的“日期”日历输入并将鼠标悬停在可用日期上。
我想触发悬停在每个可用日期上以使价格悬停在上方,尽管这样做:
$('.ui-datepicker.ui-widget .ui-datepicker-calendar:eq(0) tbody tr td:not(.ui-datepicker-unselectable)').each(function(){
$(this).hover()
})
或者干脆
$('.ui-datepicker.ui-widget .ui-datepicker-calendar:eq(0) tbody tr td:not(.ui-datepicker-unselectable)')[0].hover()
对我不起作用,使用mouseover() 也不起作用。知道如何复制这种行为吗?
【问题讨论】:
-
hover()不是单个事件,而是两个事件 -mouseenter和mouseleave- 因此没有无参数触发方法。请改用$(this).mouseenter()。 -
试过了,虽然很遗憾在这种情况下不起作用。您可以在链接的网站上使用
$('.ui-datepicker.ui-widget .ui-datepicker-calendar:eq(0) tbody tr td:not(.ui-datepicker-unselectable):eq(0)').trigger('mouseenter');进行测试 -
@Jascination:您的意思是您需要它专门在 AirBnB 网站上工作?你的问题没有说清楚,它只是引用它作为一个例子。如果您需要,您需要创建一个minimal reproducible example 复制您在in 问题中需要的内容,因为问题不能依赖于场外内容才有意义(因为场外内容腐烂,使以后对别人没用的问题)。
-
@T.J.Crowder 好的,考虑到这一点,我将删除并再次发布。
标签: javascript jquery jquery-ui jquery-ui-datepicker