jquery - 将事件处理程序附加到所有具有类刷新的 span 元素的直接父级

标签 jquery html css

我再次来到这里寻求帮助,非常感谢您的建议。

我有一个小元素要处理。那么我需要的是使用 jQuery 查找所有具有类刷新的 span 元素,并将点击处理程序附加到其直接父级。我可以使用 jQuery 的 bind(),但正如我们所知,它不适用于将来添加的元素。如果我在过去的黄金时代,我会使用 live() 但由于它已被弃用,我不能使用它。

我的另一个选择是使用委托(delegate)函数,但使用委托(delegate)函数我无法传递选择器参数。

这是我的 fiddle 。 http://jsfiddle.net/ardeezstyle/hRhT7/2/

$('.refresh').parent().bind('click',function(){
             $(this).css({'position':'relative','background':'#fff'}).append('<span>').find('span:last').addClass('refreshing');

        _this=$(this);
    setTimeout(function(){
        _this.removeAttr('style').find('span.refreshing').remove();
    }, 1000);

});

如有任何帮助,我将不胜感激。

干杯!

最佳答案

在委托(delegate)事件上使用

var parentID=$('.refresh').parent().attr('id'); // using id of parent.. you can get any attributes of parent here...if id is not present..
$(document).on('click','#'+parentID,function(){
   $(this).css({'position':'relative','background':'#fff'}).append('<span>').find('span:last').addClass('refreshing');

    _this=$(this);
   setTimeout(function(){
    _this.removeAttr('style').find('span.refreshing').remove();
   }, 1000);

});

最好使用文档中最接近的静态父容器,然后使用文档本身以获得更好的性能。link阅读有关事件的更多信息

关于jquery - 将事件处理程序附加到所有具有类刷新的 span 元素的直接父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16294002/

相关文章:

javascript - jQuery 只绑定(bind)到 keyup,而不是焦点

Javascript 不获取输入数字的值

html - 在 P 元素中发现额外的 2px( fiddle )

jquery - 在滚动时切换 CSS 属性

javascript - jQuery Slidedown 如何在显示之前获取隐藏项的最终高度?

javascript - 使用 MEAN 部署到 iis 服务器时出现意外 token <

css - 在父 div 的中心对齐图片元素使图像左对齐

html - 仅更改输入占位符 * 颜色

javascript - 在 jQuery 中使用带有符号的 html() 方法

html - 两个 div 之间出现无法解释的间隙