Я создал директиву, отключить все выбранные дочерние элементы, как это:Отключить все дочерние элементы, использующие angularjs директиву
app.directive('noeDisable', function() {
var linkFunction = function (scope, element, attributes) {
scope.text = attributes["=noeDisable"];
if (scope.text == 'true') {
$(element).find('input,button,a').attr("disabled", true);
}
};
return {
link: linkFunction
};
});
и хорошо работать для этого примера: <div noe-disable="true"> ... </div>
. но проблема в том, что некоторые из дочерних элементов загружаются позже, например, после вызова ajax или когда у меня есть другая директива angularjs внутри родительского элемента, которая добавляет некоторые дочерние элементы к ее родительскому объекту, поэтому они не будут отключены !!! Как я могу справиться с этой проблемой?
Хороший вопрос. Вы ориентируетесь на старые браузеры? Есть серверные решения для этого, но самые красивые из них всегда зеленые. –
@SanderElias Я использую современные браузеры, такие как google chrome version 37 – MRP
Хорошо! вы можете использовать mutationObsever. Остается один вопрос: Что вы добавляете к своей директиве, являются ли эти прямые дети этой директивой или есть (количество) слоев между ними? –