行をクリックすると、その行(ID)の最初の6文字がPHPページに送信され、その後のデータがdivにさらに読み込まれるページを下ろす。問題は、一度、divをロードする行をクリックすると、jQueryイベントの大部分が動作を停止することです(.hover、.sortElements)。これらは元のテーブルにアタッチされています。この問題のために「修正」や回避策を知っている人がいるのでしょうか、それとも私が欠けているものがありますか?.load()を使用してデータを取得するときのjQueryの問題
<SCRIPT type='text/javascript'>
$(document).ready(function(){
$(".panel").hide();
$(".itemjobbutton").click(function(){
$(".panel").slideToggle("200");
return false;
});
var inverse = false;
$("#jobTable th").click(function(){
var header = $(this),
index = header.index();
header
.closest('table')
.find('td')
.filter(function(){
return $(this).index() === index;
})
.sortElements(function(a, b){
a = $(a).text();
b = $(b).text();
return (
isNaN(a) || isNaN(b) ?
a > b : +a > +b
) ?
inverse ? -1 : 1 :
inverse ? 1 : -1;
}, function(){
return this.parentNode;
});
inverse = !inverse;
});
$('#jobTable tr').click(function(){
if($(this).index() != 0) {
var thistext = $(this).text().substring(0,6);
$("#joblistingDetail").load('jobview.php' , {jobID: thistext}).hide().slideDown('100');
$("#jobTable tr").css("background", "#fff");
$(this).closest('tr').css('background-color', '#C3D9FF');
}
});
});
$('#jobTable tr').hover(
function() {
$(this).addClass('hover');
},
function() {
$(this).removeClass('hover')
}
);
ジョブ・ビューは#jobTable持ち込みを有しますメインページに? – Panagiotis
'#joblistingDetail'は'#jobTable'の祖先ですか?もしそうなら、あなたは '#joblistingDetail'要素に由来するイベント委譲を行う必要があります。 –
@Panagiotisはい正しいです。 – craighandley