jQuery .hover()自动返回上一个状态

时间:2012-10-23 23:42:38

标签: javascript jquery

我想知道是否有一个简单的解决方案,在用户取消悬停后,数据将返回其原始状态?我目前的解决方案是保存原始状态,并在用户取消悬停后加载此数据。这可能会变得乏味,因为每个悬停都会改变很多文本字段,并且存储所有这些信息都很麻烦。

我基本上想知道JavaScript / jQuery中是否存在类似CSS :hover的内容,它会自动返回到原始状态?

3 个答案:

答案 0 :(得分:2)

也许这可能有所帮助,但您需要向我们提供更多信息和一些示例代码。

无论如何,你可以在用户悬停之前存储选择器的整个HTML,然后在之后恢复它。

$('#button').hover(
    function(){
        var oldData = $('#data').html();        
    },
    function(){
        $('#data').html(oldData);

    }
);

这对你有帮助吗?

答案 1 :(得分:2)

解决方案是通过在DOM中保留原始状态(隐藏但未经更改)来“存储”原始状态。

而不是更改原始文本字段:

  • onmouseover :创建克隆并根据需要修改它们;隐藏原始文本字段。
  • onmousout :删除(或隐藏)克隆并显示原始文本字段。

在下次鼠标悬停时,您可以再次执行相同操作,或者只是重新显示隐藏的克隆,具体取决于以前的克隆是否仍然相关。

答案 2 :(得分:1)

我相信这是默认行为:
http://api.jquery.com/hover/

如果不是,那么您应该使用.mouseover.mouseouthttp://api.jquery.com/mouseover/
http://api.jquery.com/mouseout/

您只需编制逻辑,以便更改这些事件的内容。 ;)

希望这会有所帮助。 :)