触发.onclick()将鼠标悬停在另一个元素上

时间:2017-07-09 13:30:58

标签: javascript jquery jquery-hover

当我将鼠标悬停在另一个div上时,我正试图触发.onclick()事件。

需要触发.onclick()事件的元素具有ID #exp_des_p_trig

See Console

需要触发的元素在标记中的href值为#exp_des_p

See console

我可以理解基础知识/阅读JS,但我不能写它(还),我在想这样的事情:

<script>
jQuery('#exp_des_p_trig').hover();
    jQuery('#exp_des_p').onclick();
</script>

任何人都可以帮我纠正这个问题吗?


更新:

我通过电子邮件向Visual Composer发送了关于此的支持,这是我得到的回复:

您可以尝试通过js将vc_active类附加到tour vc_tta-tab和vc_tta-panel,而不是触发click事件。 vc_active类负责打开巡视内容以供显示。

感谢下面的答案,似乎这是一个与Visual Composer相关的问题,我将在其他地方提及。

3 个答案:

答案 0 :(得分:2)

查看trigger method

&#13;
&#13;
var red = $('#clickAbleElement').click(function(){
  alert('You have clicked on red');
})

var green = $('#hoverMe').hover(function(){
  red.trigger('click');
})
&#13;
#clickAbleElement {
  width:100px;
  height:100px;
  background-color:red;
}

#hoverMe {
  width:100px;
  height:100px;
  background-color:green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="clickAbleElement">Click Me</div>
<div id="hoverMe">Hover Me</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

由于您只需要鼠标输入元素的事件,您可以使用mouseenter事件,然后使用给定的href定位元素并触发单击

&#13;
&#13;
$('#exp_des_p_trig').on('mouseenter', function() {
    $('[href="#exp_des_p"]').trigger('click');
});

$('[href="#exp_des_p"]').on('click', function() {
    console.log('works fine !')
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="exp_des_p_trig">Hover me !</div>
<a href="#exp_des_p"></a>
&#13;
&#13;
&#13;

请注意,触发锚定点击并不会重定向,只会触发附加的任何事件处理程序。

答案 2 :(得分:0)

这是一个解决方案:

$(document).ready(function(){
    $('#divhover').hover(function (event){
    alert("divhover_hover");  
    $("#aClick").trigger( "click" );
  });

  $('#aClick').on('click',function(event){
    alert("aClick_click");  
  });

})