所有子元素我创建了禁用所有选定的子元素这样的指令:禁止使用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指令时,它们将不会被禁用! 我该如何处理这个问题?
不错的问题。你的目标是旧的浏览器? 有很多解决方案,但最好的只是绿色的。 – 2014-10-06 05:36:15
@SanderElias我使用现代浏览器,如谷歌铬版本37 – MRP 2014-10-06 05:38:16
好!那么你可以使用一个mutationObsever。还有一个问题, 你添加到你的指令中的东西是那些指向这个指令的直接子对象,还是在它们之间有(多少个)层? – 2014-10-06 05:42:27