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