Javascript 是否有更简单的方法在鼠标操作中显示/隐藏元素?

Javascript 是否有更简单的方法在鼠标操作中显示/隐藏元素?,javascript,jquery,live,Javascript,Jquery,Live,我这里有一段代码,我似乎一直在使用类似的东西: $(".fieldv").live('mouseenter', function() { $(this).children('.edit-icon').show(); }).live('mouseleave', function() { $(this).children('.edit-icon').hide(); }); 是否有一种更简单、更清晰的方法来显示/隐藏鼠标操作中的元素,无论是悬停还是单击元素?或者类似的…为什么要使用J

我这里有一段代码,我似乎一直在使用类似的东西:

$(".fieldv").live('mouseenter', function() {
    $(this).children('.edit-icon').show();
}).live('mouseleave', function() {
    $(this).children('.edit-icon').hide();
});
是否有一种更简单、更清晰的方法来显示/隐藏鼠标操作中的元素,无论是悬停还是单击元素?或者类似的…

为什么要使用JavaScript

默认情况下,您需要隐藏图标:

.fieldv .edit-icon { display: none; }
然后此CSS应用于悬停(并且仅适用于悬停)

你可以试试这个:

       $(".fieldv").hover(function(){

              //mouseover

       ,function(){

              //mouseout
       });

使用$(“.class”).hover(函数(){},函数(){})

我正要发布这个+1+1你不应该假设
,但这是一个更好的方法。@JonathanSampson是的,我打字时有这个想法。补充说明。谢谢。(当然,他的例子会通过jQuery使用
block
none
)我会,但我需要在鼠标悬停时隐藏元素。您可以将鼠标悬停在隐藏的元素上吗?此外,您不能将委托与
一起使用。hover()
这里已经有了合适的答案。至于您选择的方法(.live()),根据您使用的jQuery版本,您可能希望在代码的其他部分使用.delegate()(=1.7)而不是.live()和类似事件
       $(".fieldv").hover(function(){

              //mouseover

       ,function(){

              //mouseout
       });
$(".fieldv").hover(function() {
        $(this).children('.edit-icon').show();
    }, function() {
        $(this).children('.edit-icon').hide();
 });