Jquery在悬停时添加和删除文本,但不会在单击时删除

时间:2013-12-05 17:51:57

标签: jquery text hover click string

当我将鼠标悬停在#one上时,我正在使用此代码显示一些文字。但当我“徘徊”或鼠标移动时,我希望文本消失。这很好。当我点击#one时出现问题,然后我希望保留该文本(但不会因为悬停时的.empty函数不允许。任何想法?

<div class="info"><p></p></div>



$('#one').hover(function() {
        $('.info p').text('Some Text');
    },
        function() {
         $('.info p').empty();

    });

  $('#one').click(function()
        $('.info p').text('Some Text');

    });

2 个答案:

答案 0 :(得分:1)

当您点击#one时,将类添加到.info,例如.active,并将mouseout的{​​{1}}部分更改为hover时不会触发info 1}}是.active

$('#one').click(function()
    $('.info p').addClass('active').text('Some Text');
});

$('#one').hover(function() {
    $('.info p').text('Some Text');
},
    function() {
     if (!$('.info p').hasClass('active')) {
         $('.info p').empty();
     }
});

答案 1 :(得分:1)

我会使用mouseleave和mouseenter来绑定事件,这样你就可以在点击处理程序中使用$(&#39;#one&#39;)。unbind(&#39; mouseleave&#39;)鼠标移开时防止文本消失。然后在重新输入时重新绑定mouseleave处理程序。有点棘手。