我正在加載頁面(包含JavaScript),然後我加載PartialView(包含表格)。問題是,我無法選擇表格ID或者onClick事件不會觸發。點擊事件通過Ajax調用加載元素後不工作
Index.cshtml
$('#sortingRow').on('click', 'th a', function() {
$.ajax({
url: this.href,
type: 'GET',
data: { sortOrder: sortOrder },
success: function (result) {
$('#sortingRow').parent().html(result);
LoadSampleDesign();
}
});
return false;
});
_PartialView.cshtml
<table>
<tr id="sortingRow">
<th>
<a href="link">Click Me</a>
</th>
</tr>
</table>
正在被使用Ajax加載partialView,像這樣:
$(sections).on('click', '#sectionPageLinks a', function() {
$.ajax({
url: this.href,
type: 'GET',
success: function (result) {
$('#sectionPageLinks').parent().html(result);
LoadSampleDesign();
}
});
return false;
});
我試過的jsfiddle和JavaScript似乎工作正常。此外,首先,你可能會認爲問題在於jquery在DOM完成後加載後找不到表,但這就是爲什麼我使用「on()」,是不是因爲它使它活着,所以它應該能夠在DOM完成後找到#table。
是部分負荷之後被調用的事件處理程序?如果不是,則事件不能附加到尚未在dom中呈現的元素。 – DontVoteMeDown
關於load的成功函數,我試過這個:$('#sortingRow')。bind('click'); – JohnC1
當你在這裏指定你的處理程序時:$('#sortingRow')。on('click','th a'',你確定'#sortingRow'已經被加載到DOM中了嗎?它需要存在,'th a'元素不需要 –