处理jQuery中附加元素的点击事件

前端之家收集整理的这篇文章主要介绍了处理jQuery中附加元素的点击事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用以下方法在我的页面生成了几个元素.例如,
$("#button"+caption).click(function(){
        var firstDisplay = '<div id="firstDisp'+caption+'"><ul>';
        for(var i=0;i<parents.length;i++){
            firstDisplay=firstDisplay+'<li class="fClick">'+parents[i]+'</li>';
        }
        firstDisplay=firstDisplay+'</ul></div>';
        $(firstDisplay).dialog();
});

当我为’fClass’创建一个onclick事件时,如下所示:

$(".fClick").click(function(){
    alert("hey!");
});

它不工作!但是,如果我将onclick函数放在另一个函数中,就在.dialog()之后,它可以工作!我有很多这样创建的元素,所以我不能把所有的onclick事件放在一个单一的方法.有没有办法解决?我也有同样的问题.append方法.

解决方法

根据您正在使用的jQuery的版本将其更改为.on或.delegate.

截至jQuery 1.7

$(document).on('click','.fClick',function(){ 
    alert("hey!");
});

对于较旧的jQuery版本使用委托

$(document).delegate('.fClick','click',function(){
    alert("hey!");
});

猜你在找的jQuery相关文章