我正在使用 AngularJS 来动态创建一个页面。我有一些 Tab (jquery) 单击处理程序,它们在页面的先前静态版本上运行良好。
问题是,$(.prevButton) 和 $(.nextButton) 元素是由 AngularJS 创建的,显然 Jquery 没有注册它们。创建页面后,我可以将以下代码粘贴到控制台中,并且一切正常。
如何强制 jquery “重新扫描” DOM 以便它注册所有这些动态创建的元素?还是有另一种技术可以避免这个问题?
$(document).ready(function () {
$('.prevButton').click(function () {
var r = $(this).attr('tabGroup');
var e = ($('.nav-tabs[tabGroup=' + r + '] li.active').prev().find('a[data-toggle="tab"]'));
if (e.length > 0) {
e.click();
}
return false; //prevent the page from jumping around
});
$('.nextButton').click(function () {
var r = $(this).attr('tabGroup');
var f = ($('.nav-tabs[tabGroup=' + r + '] li.active').next().find('a[data-toggle="tab"]'));
if (f.length > 0) {
f.click();
}
return false; //prevent the page from jumping around
});
}
非常感谢任何提示!