我正在构建一个无限滚动例程来缓存行以添加页外。
我$.get
将行添加到 a$('<div/>')
中,然后每当我需要新行时,我从该 dom 添加一个到页面。
我读过当添加到 dom jquery 时会去掉脚本标签并执行 javascript。
这似乎给我带来了一个问题,因为当 jquery 运行脚本时,元素位于页面外 dom 中,而不是主页 dom 中。
如何保留脚本以便在向页面添加页外元素时执行它?
我已经添加了警报,并且在添加到关闭页面 dom 或实际页面 dom 时,javascript 似乎根本没有被执行,所以在这成为问题之前我可能会失败。
获取新行并将它们放置在页外 dom 中的代码:
var nextPageDOM = $('<div/>');
var jqxhr = $.get(data.nextPageURL, function(nextPageHTML) {
nextPageDOM.html($(nextPageHTML).find(data.settings.pagedContent));
// Get the elements to add to the page
data.nextPageElements = nextPageDOM.find(data.settings.rowSelector);
}
从页外 DOM 添加到页面的代码:
var elementToAdd = data.nextPageElements.first().clone();
$(data.settings.pagedContent).append(elementToAdd);