如何在jquery on选择器上访问父级

时间:2013-08-21 07:44:21

标签: javascript jquery

我有以下jQuery代码:

$('#temp_modals').on('mouseleave','*[data-username]',function() {
    ///my logic
});

但是我需要在*[data-username]的父div上有 mouseleave事件

由于此元素是动态添加到网页的,因此我无法使用普通选择器并需要使用$ .on。

简而言之,我想实现像这样运行的代码。

$('#temp_modals').on('mouseleave','*[data-username]'.parent(),function() {
    ///my logic
});

我该怎么做?

2 个答案:

答案 0 :(得分:4)

尝试

$('#temp_modals').on('mouseleave','*:has(> [data-username])',function(event) {
    ///my logic
    // this should get you the parent.
    $(event.target).parent();
});

演示:Fiddle

答案 1 :(得分:0)

根据规范,这应该有效

http://api.jquery.com/parent-selector/

$('#temp_modals').on('mouseleave','*[data-username]:parent',function() {
    ///my logic
});
编辑:事实上,这不会奏效,感谢你指出:父母没有按照我的预期行事。这将有效:

$('#temp_modals').on('mouseleave',$('*[data-username]').parent(),function() {
    console.log(this)
});