JavaScript:DRY mouseover / mouseout事件处理程序

时间:2013-01-11 12:05:53

标签: javascript jquery handler

这是我的代码:

    $rows
        .on('mouseover', '.row', function () {
            $(this).find('.label').show();
        })
        .on('mouseout', '.row', function () {
            $(this).find('.label').hide();
        });

可以退出吗?

2 个答案:

答案 0 :(得分:4)

您可以绑定这两个事件,收听event.name,然后使用jQuery.fn.toggle

$userRows.on('mouseover mouseout', '.row', function(event) {
    $(this).find(".label").toggle( event.name == "mouseover" );
});

我很确定你也可以使用jQuery.fn.hover

$userRows.on('hover', '.row', function(event) {
    $(this).find(".label").toggle( event.name == "mouseenter" );
});

甚至:

$userRows.on('hover', '.row', function(event) {
    $(this).find(".label").toggle();
});

答案 1 :(得分:0)

怎么样:

  

$ rows.hover(      功能(){          $(本).find( '标签。')切换()。      },      功能(){          $(本).find( '标签。')切换()。      }      );