为什么我无法删除元素using指令

时间:2014-12-18 19:33:45

标签: angularjs angularjs-directive

我无法弄清楚为什么我的指令失败了。

app.directive('errSrc', function() {
    return {
        link: function(scope, element, attrs) {
            element.bind('error', function() {
                element.remove();
            });
        }
    }
});

该指令无法删除它适用的元素。但是,如果我替换:

element.remove();

使用:

element.hide();

它会隐藏元素。

据我从角度文档中理解,.remove()和.hide()方法都是JQLite的一部分,它们被烘焙成角度,因此它们都应该起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定您尝试绑定的'错误'事件是什么。

但是当我尝试绑定到点击事件时,它可以正常工作。

myApp.directive('rmv', function() {
    return {
        link: function(scope, element, attrs) {
            element.bind('click', function() { 
                element.remove()
            });
        }
    }
});

<div rmv>Remove me!</div>