5

我在 jQuery 中有一个非常简单的问题,我似乎找不到解决方案:我有一个 mouseOver 和 mouseOut 效果,但我需要一个转折点,如果单击而不是保持该框打开,即使它们是 mouseOut。

这是我到目前为止的一个例子:

jsfiddle

提前致谢 !

4

4 回答 4

8
$(".rock").click(function() {
      $('.rock').unbind('mouseout');
});

在 .rock 单击时取消绑定 mouseout 事件。

于 2012-07-09T10:15:37.107 回答
1

您必须取消绑定事件,然后它会永远保持打开状态。

让你在这里更新小提琴

于 2012-07-09T10:15:11.217 回答
0
$(".rock").click(function() {
     $(this).off('mouseout');

如果您有多个 mouseOut 事件,您可能希望为它们命名空间并仅删除有问题的事件(上面的代码删除了绑定到.rock元素的所有 mouseOut 事件)。

于 2012-07-09T10:14:10.960 回答
-1

试试这个

    $(".rock").hover(function() {
    $(".box_content.rock").stop().animate(
          {"height": "100px"},
          "normal");
    $(".box.rock").stop().animate(
          {"height": "140px"},
          "normal");
    $(".hide.rock").removeClass("hide").addClass("show");
    })

    $('.box_content.rock').click(function(){    
    $('.box_content.rock').unbind("hover");
    });
于 2012-07-09T10:26:06.657 回答