Angular指令找不到它应该的所有元素

时间:2014-10-16 08:45:35

标签: javascript html angularjs directive

我正在开发一个我们正在使用角度的项目。大多数页面都包含boostrap工具提示。

在所有情况下,这些工具提示都显示在<b>元素上。

这就是它如何完成的例子。

<b es-tooltip='show it is true / potwierdzić'>confirm</b>

在指令完成之前,它是用jQuery编写的,所有属性“title”都被找到并转换为工具提示。然后,我们将其交换为指令,现在我们遇到了问题。

它并不适用于所有地方。有时,指令会找到<b>标记之前的文本。

我在想,像<span>这样的其他标签可能会令人困惑,但我找不到任何模式。

这是一个屏幕的片段,但不起作用:

<p class="interviewer">Hello {{avatar.name}}. This is John Smith. You have been selected for position in our company. </br> <span  class="draggable">Congratulations</span>.If you are still interested in the post, please <b es-tooltip='show it is true / potwierdzić'>confirm</b> your acceptance.</p>

这有效:

<p class="me">Of course, I do. I feel enthusiastic to receive this message. Can I receive a copy of the <b es-tooltip='proposal / oferta'>offer</b> and the benefits <span class="draggable">package</span></p>

当我在指令中的链接函数中跟踪'element'时,好的结果会导致

[b, context: b, jquery: "2.1.1", constructor: function, selector: "", toArray: function…] 

虽然不好(来自上面的例子):

[text, context: text, jquery: "2.1.1", constructor: function, selector: "", toArray: function…] 

此文字为

".↵                If you are still interested in the post, please "

也许有人知道,为什么这个指令有选择地起作用?

编辑:

esTooltip指令

angular.module('App').directive('esTooltip', function() {
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            element.tooltip({ trigger: "click hover", title: attrs.esTooltip });
            //console.log(element); - the logs i mentioned are from here
        },
    };
});

0 个答案:

没有答案