在 jQuery on() 中组合多个动作

Jon*_*Jon 5 html javascript css jquery

我想知道是否可以将多个动作组合到同一个on()功能上?

我的代码:

$(document).on('mouseout', '#tip', function() {
    $('#tip .ttip').show();
});

$(document).on('click', '#tip', function() {
    $('#tip .ttip').show();
});
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法,但它们都不起作用。

$(document).on('mouseout, click', '#tip', function()
$(document).on({'mouseout', 'click} '#tip', function()
Run Code Online (Sandbox Code Playgroud)

Gab*_*oli 6

你几乎拥有它..

您需要在事件之间使用空格

$(document).on('mouseout click', '#tip', function() {
    $('#tip .ttip').show();
});
Run Code Online (Sandbox Code Playgroud)

虽然,绑定到document是不赞成的。它模仿了由于这个原因被弃用的.live方法以及其他一些方法)。

引用

为了获得最佳性能,请在尽可能靠近目标元素的文档位置附加委托事件。避免在大型文档上过度使用documentdocument.body用于委托事件。


请参阅http://api.jquery.com/on/ 上的文档

引用

on( events [, selector] [, data], handler(eventObject) )
events一种或多种以空格分隔的事件类型和可选的命名空间,例如“ click”或“ keydown.myPlugin”。