2016-08-29 13 views
-2

テキストが切り捨てられたときにツールチップを示すテキストを持つ要素があります。要素のテキストが切り捨てられなくなったときにツールチップを削除したい。問題は、私はツールチップのイベントに行くことができないということです。私は切り捨て時に要素に属性を設定することによってツールチップを追加します。ただし、属性を削除してもイベントは削除されず、ツールチップが引き続き表示されます。私はAngular bootstrap tooltipを使用しています。 私はツールヒントイベントハンドラを持っていないため、インターネットを検索してremoveEventListener()が役に立たなかった。私が使用して働くことができた唯一の回避策は、ツールチップを隠していた要素上のイベントmouseleaveをトリガーし、削除しなかったことです。私はこれを行う良い方法ではないと思う、私はそのイベントを削除する必要があります。 ところで、私は角度とjavascriptのみを使用しています.jQueryはありません。要素からツールヒントイベントを削除する

どのようにすればいいですか?

編集: 私の要素は、このようなものです:

<span>Here goes the text</span> 

とツールチップを追加した後の要素は、この

<span uib-tooltip="Here goes the text" tooltip-append-to-body="true" tooltip-placement="bottom">Here goes the text</span> 
+0

あなたのHTMLコードを投稿してください。 – FDavidov

+0

私は質問を編集し、htmlコードを追加しました – HannaB

答えて

1

のように見えますが、テキストがある場合に返される属性でtooltip-enable表現を提供しなければなりません切り捨てられているかどうか。このように簡単に決定することができます:https://stackoverflow.com/a/143889/2337927。ただし、security issuesのために角度表現でDOM要素を直接使用することはできません。何がしたいことは、コントローラ上のisTextOverflowing関数を登録し、式からそれを呼び出す例えばです:tooltip-enable="vm.isTextOverflowing()"


編集

あなたは何をしたいことは完全にイベントリスナーを削除していることを肯定している場合、私は」 decoratorを書くことになりますが、本当に面倒な(またはハッキーな)方法でもの場合は、テキストが完全に表示されたらツールチップを閉じるだけです。tooltip-enabletooltip-is-openshown in this plunk

+0

あなたの答えが良いので、私はあなたに有用な答えを与えていますが、それは私が探しているものではありません。可能であれば、その要素に付随するイベントを削除する必要があります。 – HannaB

+0

イベントを削除すると、テキストが完全に表示される(切り捨てられない)ときにイベントリスナーを削除するか、ツールチップを閉じることを意味しますか? –

+0

私の編集した答えも見てください:) –

関連する問題