手动调用悬停不起作用

时间:2013-09-02 08:39:29

标签: jquery html

我遇到以下代码的问题:

<li>
    <a href="http://example.com" id="webd">
        <span class="hot">W</span>eb Development
    </a>
</li>
..................
<p class='web' > Web for all</p>

CSS文件:

.hover {
  background: #000;
}

.hot{
    text-decoration:underline;
}`

Javascript文件:

 $('body').keypress(function(event){
    if(String.fromCharCode(event.which)=="w" || String.fromCharCode(event.which)=="W")
    {
        $('#webd').hover();
    }........
    .....
    }
    $('#webd').hover(function(event)
    {
      $('.web').show();
      $('.prog').hide();
      $('.rdbms').hide();
      $('#webd').addClass('hover');
    }, function()
    {
      $('#webd').removeClass('hover');
    });

即使有了

alert(String.fromCharCode(event.which)) 

我得到w或W. 手动调用hover()不起作用。 “所有人的网络”文字没有显示......

任何人都可以解释一下吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

悬停不是一个事件,它是注册mouseenter和mouseleave事件处理程序的简写

因此触发mouseenter / mouseleave事件

$('#webd').mouseenter();//or $('#webd').trigger('mouseenter');

演示:Fiddle