我有div,鼠标悬停之后它改变了这里的内容,如何在没有鼠标的情况下执行鼠标悬停,有可能吗?
鼠标悬停之前<div id="divId" class="some_css_class" style="visibility: visible;">
<div style="visibility: hidden;">
<p>Test</p>
</div>
</div>
鼠标悬停后我的div:
<div id="divId" class="some_css_class" style="visibility: visible;">
<div style="visibility: visible;">
<p>Test</p>
</div>
</div>
答案 0 :(得分:7)
您可以使用触发器功能模拟事件,但在触发事件之前,您必须指定其功能
$('#divId').on('mouseover', function(){
$(this).find('>:first-child').css('visibility','visible');
});
// Line below triggers the event programmatically on load
$('#divId').trigger('mouseover');
请看这个小提琴以获得更多参考 http://jsfiddle.net/Aerious/nLf90cyt/
答案 1 :(得分:2)
你可以使用jQuery&#39; mouseover()
但我认为如果你需要的不仅仅是css效果(比如programmaticaly隐藏div),模拟事件并不是一个好方法。
当你想要改变div的状态时,有一个切换div状态并调用它的函数会更清晰。
答案 2 :(得分:0)
您可以使用.mouseover()
:
$('#divId').mouseover()
答案 3 :(得分:0)
您可以使用.trigger()
$('#divId').trigger('mouseover');
答案 4 :(得分:0)
你应该尝试使用&#34; native&#34;没有JQuery的Javascript。你可以试试这个:
var event = new Event('mouseover');
document.querySelector('#divId').dispatchEvent(event);
如果有效,请给我反馈意见;)
答案 5 :(得分:0)
您可以使用以下方式触发鼠标悬停事件:
document.getElementById('divId').onmouseover();
此外,您需要使用callback
在您的div上绑定mouseover
个id='divId'
事件的功能,并在回调中更改div
个可见性。
希望这有帮助