我目前正在为一个网站制作插件,但我偶然发现了一个问题:我的插件需要模拟单击div,但仅当您将鼠标悬停在另一个div 上时,div 才会出现。我试过了
$("#id-1").trigger("mouseover");
$("#id-2").click();
但它并没有真正起作用,因为盒子会立即再次消失。
有什么办法可以做到这一点吗?
提前感谢!
编辑:$("#id-2") 不仅不可见,它不再存在于元素中,他们使用一些代码将其删除并在您将鼠标悬停在 $("#id-1") 上时将其放回原位
如果您有权访问 CSS 文件,则可以使用悬停类来执行此操作,假设它们是兄弟姐妹(可以修改为处理父子关系),并且他们使用 display:block
和 display:hidden
来隐藏/显示隐藏元素
/* CSS */
elemOne:hover ~ div, .hover ~ div { display:block; } // Applies on hover or if
// hover class
/* jQuery */
$('elemOne').addClass('hover'); // Initialize the hover state
$('elemTwo').trigger('click'); // Click the now-showing element
$('elemOne').removeClass('hover'); // Remove the hover state
演示