我正在使用AngularJS動態創建頁面。我有一些Tab(jquery)單擊處理程序,它們在頁面的以前靜態版本上工作正常。如何強制jQuery識別動態創建的AngularJS元素?
問題是,$(。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
});
}
非常感謝您的任何提示!
它說,就在角文檔不使用jquery作爲柺杖做DOM操作,而是寫指令和使用的角度活動! – 2013-03-22 21:37:16
@NickLarsen我不是在操縱dom,是嗎? – 2013-03-22 21:40:41
添加處理程序和觸發事件,我會說你正在操縱DOM。 – 2013-03-22 21:44:02