首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >处理jQuery中附加元素的单击事件

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

Stack Overflow用户
提问于 2012-08-21 21:03:07
回答 3查看 48.7K关注 0票数 28

我使用下面的方法在我的页面中生成了几个元素。例如,

代码语言:javascript
复制
$("#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事件时,如下所示:

代码语言:javascript
复制
$(".fClick").click(function(){
    alert("hey!");
}); 

它不起作用!但是,如果我将onclick函数放在另一个函数中,紧跟在.dialog()之后,它就可以工作了!我有很多元素是以这种方式创建的,所以我不能将所有的onclick事件放在一个方法中。有什么办法可以解决这个问题吗?我在.append方法上也遇到了同样的问题。

EN

回答 3

Stack Overflow用户

发布于 2012-08-21 21:04:31

使用on而不是click

代码语言:javascript
复制
$(".fClick").on('click',function(){
  alert("hey!");
}); 

click向调用$('.fClick').click({...})时出现的.fClick元素添加单击处理程序。稍后添加的新.fClick元素将不会有单击事件。但是当您使用on时,所有的.fClick元素都将有一个单击处理程序,即使它们是以后添加的。

点击此处阅读更多信息:http://api.jquery.com/on/

票数 1
EN

Stack Overflow用户

发布于 2015-01-09 00:24:25

再次调用$(Document).ready()并在其中添加代码。再次读取(刷新)文档,您就可以在那里应用代码了。

票数 0
EN

Stack Overflow用户

发布于 2015-03-27 00:20:45

Vega所说的是完全有效的。有一个提示:我认为在第二行中有一个错误。也许你可以使用addClass方法,因为你不能把id或class放在渲染中。下面是一个示例:

代码语言:javascript
复制
var content = "<div>Hello, World</div>";
$("div").after(content);
$("last:div").addClass("mydiv");

类将被添加,但我不确定您是否可以添加id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12055462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档