AngularJSのディレクティブでstopPropagationを行うにはどうしたらいいですか?
2023-08-12 10:50:26
質問
Twitter Bootstrapのナビバーのドロップダウンで、li内の要素(リンク)がクリックされたときに閉じないようにするために、"stopPropagation"をしようとしています。 このメソッドを使用することは、一般的なようです ソリューション .
Angularでは、ディレクティブがこれを行う場所であるように思えますか? だから私は持っています。
// do not close dropdown on click
directives.directive('stopPropagation', function () {
return {
link:function (elm) {
$(elm).click(function (event) {
event.stopPropagation();
});
}
};
});
... しかし、このメソッドは要素に属していません。
TypeError: Object [object Object] has no method 'stopPropagation'
でディレクティブを結びつけています。
<li ng-repeat="foo in bar">
<div>
{{foo.text}}<a stop-propagation ng-click="doThing($index)">clickme</a>
</div>
</li>
何か提案はありますか?
どのように解決するのですか?
現在、いくつかのディレクティブ (例: ng:click) は、イベントの伝播を停止します。これは、そのようなイベントの捕捉に依存する他のフレームワークとの相互運用性を妨げます。 - リンク
... ディレクティブなしで、単に行うだけで修正することができました。
<a ng-click="doThing($index); $event.stopPropagation();">x</a>
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ネストされたng-click呼び出し間のイベント伝搬をキャンセルする最良の方法は何ですか?
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?