コードは次のとおりです。
$(document).ready(function(){
$(".menu ul li a").click( function(){
curpage = $(this).attr('href');
loadpage(curpage);
});
});
function loadpage(){
switch (curpage){
case "#page1":
getpage1();
break;
case "#page2":
getpage2();
break;
}
}
function getpage1() {
$("#content .main").load("/page1.htm");
$("#content .main .new").livequery( function(){
Boxy.alert("Sample Alert", null, {title: 'Alert!'});
});
}
function getpage2() {
$("#content .main").load("page2.htm");
}
したがって、#page1 のリンクをクリックすると、期待どおりに動作します。#page2 のリンクをクリックすると、期待どおりに動作します。しかし、#page1 のリンクを 2 回クリックすると、livequery 関数が 2 回起動します。#page2 のリンクをクリックし、次に #page1 のリンクを 3 回クリックすると、livequery 関数が 3 回起動します。
これに関しては言葉を失います。助けてください。livequery 内で呼び出す関数の種類は関係ありません。それが何であれ、複数回起動します。