Я только недавно узнал, как jquery может получить доступ к динамически генерируемому контенту, поместив «пузырь» вокруг своего родительского объекта (или первого доступного родительского объекта, который не является динамическим), а затем объяснив ему, как обрабатывать событие внутри него.и т.д.
У меня есть таблица (статическая), и строки добавляются динамически.
<table class="aBorder_ClearBlack" width="100%" id="tblEveryone">
<tr class="TableHeading_Dark_Small">
<td>Current User Calls</td>
<td><span id="theRefresh" style="cursor:pointer">
<img ... onclick="javascript:clicky()"...></span>
</td>
</tr>
и код, который добавляет строки:
function clicky() {
var table = document.getElementById("tblEveryone");
var tmpRowCount = table.rows.length;
//clear existing rows first (else it just appends)
for (var x = 2; x < tmpRowCount; x++) {
table.deleteRow(x);
tmpRowCount--;
x--;
}
jQuery.each(users, function (index, user) {
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.style.display = "none"; <--------
row.setAttribute('class', 'BeforeHover_Clean');
var cell1 = row.insertCell(0);
cell1.innerHTML = users[index].Name;
var cell2 = row.insertCell(1);
cell2.innerHTML = users[index].Calls;
});
$(".BeforeHover_Clean").show(); <-----
}
, затем кодя использую, чтобы «связать» события кликов в каждой строке
$(document).ready(function () {
$('#tblEveryone').delegate(".BeforeHover_Clean", "click", function () {
var whatClicked = this.innerHTML.toLowerCase().split("</td>")[0].split("<td>")[1];
document.getElementById("aIframe").src = "Calls.aspx?aUser=" + whatClicked;
});
});
Дело в том (строка, помеченная <---- выше, второй блок), <strong>row.style.display ,правильно запускает элементы, для которых видимость отсутствует, но последняя строка, $ (". BeforeHover_Clean"). show (); , очевидно, не будет работать, поскольку содержимое является динамическим. Есть ли способ манипулировать делегатом или какой-либо другой функцией jquery, чтобы снова отображать элементы, когда это необходимо?
На этом уровне я ничего не понимаю.Привязка событий "click" к родителю так же хороша, как и я!лол.Я чувствую себя как Чарльз Бэббидж сейчас!;)