我使用下面的方法在我的页面中生成了几个元素。例如,
$("#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方法上也遇到了同样的问题。
发布于 2012-08-21 21:04:31
使用on
而不是click
$(".fClick").on('click',function(){
alert("hey!");
});
click
向调用$('.fClick').click({...})
时出现的.fClick
元素添加单击处理程序。稍后添加的新.fClick
元素将不会有单击事件。但是当您使用on
时,所有的.fClick
元素都将有一个单击处理程序,即使它们是以后添加的。
点击此处阅读更多信息:http://api.jquery.com/on/
发布于 2015-01-09 00:24:25
再次调用$(Document).ready()并在其中添加代码。再次读取(刷新)文档,您就可以在那里应用代码了。
发布于 2015-03-27 00:20:45
Vega所说的是完全有效的。有一个提示:我认为在第二行中有一个错误。也许你可以使用addClass方法,因为你不能把id或class放在渲染中。下面是一个示例:
var content = "<div>Hello, World</div>";
$("div").after(content);
$("last:div").addClass("mydiv");
类将被添加,但我不确定您是否可以添加id。
https://stackoverflow.com/questions/12055462
复制相似问题