jQuery对象作为jQuery的.on()方法选择器参数

时间:2014-03-05 15:18:06

标签: jquery

有没有办法使用以前注册的jQuery对象作为jQuery的.on()方法选择器?

我的意思是:

//The code below doesn't work as expected.
$containerElement= $('#containerElement');
$myButton = $('#mybutton')

$containerElement.on('click', $myButton , function(){ //<-- how can I use my previously registered $myButton element here?
    alert('yeyy!');
})

2 个答案:

答案 0 :(得分:1)

简短回答是肯定的,使用event.datahttps://api.jquery.com/event.data/):

$containerElement.on('click', { button : $myButton }, function(event) {
    event.data.button.css({ color : "#FFFFFF"} );
}

第二个参数对象的键=&gt;值对添加到事件对象中,可通过event.data对象访问。将事物传递给事件处理程序非常容易,因此您不必在以后找到它。

答案 1 :(得分:0)

您可以使用:

$containerElement.on('click', function (e) {
    if ($(e.target).is($myButton)) alert('yeyy!');
})

SEE DEMO(来自adeneo的那个)

更相关DEMO