最近学习angularjs,我对指令有疑问。当我创建一个“E”,然后尝试添加一个类调用“面板”(它只是将背景颜色设置为红色),它不起作用,但是当我创建一个“A”时,它实际上是有效的。有人知道为什么会这样吗?
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'world';
});
app.directive("pop", function() {
return {
restrict: 'E',
template: '<div button>' +
'popup window, hello' +
'</div>',
link: function(scope, element, attrs) {
test(element);
}
}
});
app.directive("button", function() {
return {
restrict: "A",
link: function(scope, element, attrs) {
// test(element);
}
}
})
function test(element) {
element.bind("mouseenter", function() {
element.addClass("panel");
});
}
答案 0 :(得分:0)
如果您将position:absolute;
添加到.panel的css中,它会按预期工作,请参阅下面的plunkr。这里的问题是自定义标记元素的默认样式,而不是与angular有关的任何内容。