带有粗体文本的段落上的jQuery mouseenter

时间:2013-07-05 13:40:30

标签: jquery mouseenter mouseout paragraph bold

我有一个带有粗体文字的段落

<p style="class1"><b>Some text</b> some other text</p>

以及mouseenter元素的mouseoutclass1事件的jQuery侦听器

$('class1').mouseenter(function(){
    $(this).addClass("highlight");
});

$('class1').mouseout(function(){
    $(this).removeClass("highlight");
});

其中highlight类是模拟经典HTML选择的样式。

.highlight{
   background-color: blue;
   color: white !important
}

(我没有使用style1:hover因为我想用编程方式模拟也用箭头选择,但现在这不是很重要)

所以,我有一些这样的段落:

某些文字其他一些文字

某些文字其他一些文字

某些文字其他一些文字

现在,我的问题是,当鼠标光标从粗体文本传递到普通文本(或反之)时,mouseout事件触发,丢失我的假选择但保留在同一段落中。我该如何避免这种行为?

2 个答案:

答案 0 :(得分:1)

你必须使用mouseleave事件而不是mouseout ..

$('.class1').mouseenter(function(){
    $(this).addClass("highlight");
});

$('.class1').mouseleave(function(){
    $(this).removeClass("highlight");
});

这将解决您的问题...... :)

答案 1 :(得分:0)

我不明白这个问题..但是让我建议你......永远不要使用标签!如果你想要一个粗体的文本,在它上面放一个跨度并使用css font-weight:bold; ..