http://jsfiddle.net/yTkTd/班级点击不会触发
另一个类与功能完美的作品,但这似乎给我的麻烦。没有控制台错误或任何东西,它只是不会触发。
编辑:新的jsfiddle http://jsfiddle.net/yTkTd/9/
http://jsfiddle.net/yTkTd/班级点击不会触发
另一个类与功能完美的作品,但这似乎给我的麻烦。没有控制台错误或任何东西,它只是不会触发。
编辑:新的jsfiddle http://jsfiddle.net/yTkTd/9/
将a .delegate()
handler放在#showList
上,因此它会处理动态创建的.show
元素的点击次数。
这是你的更新,例如:http://jsfiddle.net/yTkTd/11/
$('#showList').delegate('.show', 'click', function() {
showID = $(this).attr("id");
$(".show").fadeOut("slow");
$(this).fadeIn("slow");
$.getJSON('https://api.phish.net/api.js?api=2.0&method=pnet.shows.setlists.get&format=json&apikey=A9E68C2561D7442F041C&callback=?&showid='+showID, function pnet3setlist(data) {
$('#showList').append("<div>");
for (i = 0; i < data.length; i++) {
var n = data[i];
$('#setList').append("<a class='show' href='#' id='setlist"+n['showid']+"'>"+n['setlistdata']+"</a>");
}
$('#showList').append("</div>");
});
});
变化框架jQuery的。目前Mootools是你的图书馆。
当您使用jQuery时,您将JSFiddle设置为使用mootools。我更新并运行,点击工作正常... http://jsfiddle.net/yTkTd/6/
发表在主帖 – switz 2011-01-06 22:45:34
.show
元素是在您的点击处理程序附加后动态添加的。您应该使用.live()
代替:
$(".show").live("click", function() {
alert('hello');
});
这将具有相同的行为,但会导致jQuery来监听在文档级别的click事件(这是永远存在的),但检查是否源元素是".show"
。
嗯,我把它列入我的文件(本地),它不是触发。任何有关为什么可能会发生的见解?我看到 – switz 2011-01-06 22:41:20
在主文章 – switz 2011-01-06 22:45:11
的贴满代码。 Box9是对的。点击事件在锚点位于页面之前添加。 – sissonb 2011-01-06 22:49:10