這可能是非常明顯的事情,但我是jquery的新手,所以不知道問題出在哪裏。問題jquery.load()
我正在做一個簡單的論壇(看我能不能)使用php/jquery/html等。當它第一次打開它顯示論壇(工作正常)和空盒子(div)的列表爲其他內容。當你從列表中點擊一個論壇時,它會調用showForum(id)並提出一個提醒(只是讓我知道它正在工作),並將論壇中的線程列表加載到一個空div(正常工作)。問題是,當我嘗試加載一個線程(通過點擊它),沒有任何反應,甚至沒有警報。
jQuery代碼:
$(document).ready(function() {
$('.flink').click(function() {
var id = $(this).attr('id');
showForum(id);
alert("Forum opened");
});
$('.tlink').click(function() {
var id = $(this).attr('id');
showThread(id);
alert("Thread opened");
});
});
function showForum(id) {
$('.topic-container').load("showforum.php", {
'f': +id
});
showLinks(id, 1);
}
function showThread(id) {
$('.entry-container').load("showthread.php", {
'thread': +id
});
showLinks(id, 2);
alert(id);
}
HTML代碼:
我檢查的類名,以確保他們是對的。我點擊了一個論壇公開呼籲showThread(只是爲了確保該功能的工作),它工作正常。
任何人都可以給的幫助將不勝感激。
您需要使用'。對( )'在綁定處理程序時將處理程序委託給尚未在DOM中的元素。 – Barmar 2013-05-10 19:41:50
你使用的是什麼版本的jQuery?如果它是1.7+,@PSL答案應該可以工作(保證任何添加的元素將被綁定到事件),否則,你必須在加載回調函數中掛鉤線程點擊事件(完成)。 – rivarolle 2013-05-10 19:48:54
@rivarolle在jQuery v1.3 - v1.6中,'.on'的推薦替代品是['.delegate'](http://api.jquery.com/delegate/)。 – apsillers 2013-05-10 19:51:07