メインディビジョンの上にマウスを置くと、メインディビジョンの子divがデフォルトで非表示になります。angle:ホバー上の更新範囲
私は角度でそのネイティブを持っていて、jqueryの.hover()
の方法を忘れています。
私は子divでng-show
を使用していますが、メインdivをホバーするとバインディングを更新します。ホバリングを聞くよう指示がありますか?
メインディビジョンの上にマウスを置くと、メインディビジョンの子divがデフォルトで非表示になります。angle:ホバー上の更新範囲
私は角度でそのネイティブを持っていて、jqueryの.hover()
の方法を忘れています。
私は子divでng-show
を使用していますが、メインdivをホバーするとバインディングを更新します。ホバリングを聞くよう指示がありますか?
あなたは正しい道を歩いています。実際には、ngMouseenterディレクティブとngMouseleaveディレクティブを使用してこれを行うことができます。
<span ng-mouseenter="show = true" ng-mouseleave="show = false">
Mouse over me.
</span>
<div ng-show="show">Hello!</div>
ここでの作業Plunkerです:Swordfish0321 @http://plnkr.co/edit/Ro80nR7HT7OGGPCXjz7E?p=preview
も権利である - あなたがしたい場合は、ホバリングのために特別に聞くための非常に簡単な指示を書くことができますが、それは必要ではないかもしれません。たとえば、UI Bootstrapのツールチップにはmouseenter
とmouseleave
を使用します。
ありがとう!それは私が探していたものです。 –
@Josh David Miller。私はそれにマウスをかざすと "Hello"を表示したい。私は内側のdivとしてそれを置くことはできません。これに関する助言? – user100693
@ JoshDavidMillerのおかげで、非常に簡潔な答えが得られます。私はこれをng-repeatで行う必要があり、それを行うためのエレガントな方法を理解できませんでした。スコープでブール値を使用すると、リスト内のすべての要素の編集コントロールが表示されていました。 angular.element
(つまりJQuery)をホッピングし、ホバーハンドラを自分でつけることで、ホバリングされた要素のコントロールだけを手動で表示できるようになりました。私はそのような邪悪な道に踏み込んでいないのがうれしいです。
<div ng-repeat="item in items" ng-mouseenter="item.showEdit = true" ng-mouseleave="item.showEdit = false">
<span class="glyphicon glyphicon-edit" ng-show="item.showEdit"></span>
Mouse over me.
</div>
は単にitem
ではなく$scope
にプロパティを添付します。いくつかの状況で私のリスト内の項目にランダムなキーを追加することはできませんでしたので、item
が実際にはラッパーオブジェクトのプロパティである新しい配列に配列をマップしました。 item
のキーを汚染することなく。
ホバーイング(例:ng-hover)の指示はありませんが、あなたはそれを書くことができます!それがAngularJSの美しさです。 =) – Swordfish0321