我在angularJS的應用程序,其中追加一些HTML的身體注漿HTML到DOM破壞
document.body.innerHTML += thirdPartyHTML;
只要做到這一點,好像我ng-click
事件榮獲」包括了第三方腳本AngularJS事件t火。第三方腳本的HTML以錯誤的方式追加HTML,還是應該刷新DOM ($scope.$apply)
上的AngularJS視圖?
更新:似乎我可以重現錯誤,只需調用document.body.innerHTML + ='';我。它顯然與onclick事件沒有任何關係。如果你有自己的AngularJS應用程序,你可以嘗試調用document.body.innerHTML + ='';在文檔加載之後,並且沒有任何ng-click事件起作用。
找到你確定這是不是也增加了事件處理程序的身體可能解開現有的以不安全的方式?第三方代碼是做什麼的? – tgies
它只是添加一個事件到他們自己的按鈕,像這樣:document.getElementById('my_button')。onclick = function(){...}。它似乎摧毀了我單擊我自己的DOM元素。 – Dofs