[解決済み] HTML5イベントハンドリング(onfocusとonfocusout)angular 2使用
2022-05-14 13:07:42
質問
日付フィールドがあるのですが、デフォルトでプレースホルダーを削除したいです。
私はjavascriptを使用しています
onfocus
と
onfocusout
イベントがあります。
angular2ディレクティブの使用について、どなたか助けてください。
<input name="date" type="text" onfocus="(this.type='date')" onfocusout="(this.type='text')" class="dateinput">
この方法で解決しようとしましたが、入力フィールドのタイプがリセットされる問題が発生しました。
import { Directive, ElementRef, Input } from 'angular2/core';
@Directive({
selector: '.dateinput',
host: {
'(focus)': 'setInputFocus()',
'(focusout)': 'setInputFocusOut()',
}})
export class MyDirective {
constructor(el: ElementRef) { this.el = el.nativeElement; console.log(this.el);}
setInputFocus(): void {
//console.log(this.elementRef.nativeElement.value);
}
}
どのように解決するのですか?
以下のように
(focus)
と
(focusout)
の代わりに
onfocus
であり
onfocusout
このように : -
<input name="date" type="text" (focus)="focusFunction()" (focusout)="focusOutFunction()">
のような使い方もできます。
<ブロッククオートのような、接頭辞のついた形式を好む人もいます。
<input name="date" type="text" on-focus="focusFunction()" on-focusout="focusOutFunction()">
イベントバインディングについてもっと知る はこちらをご覧ください。 .
HostListnerを使用する必要があります。
Angularは、ホスト要素が指定されたイベントを発すると、装飾されたメソッドを呼び出します。
@HostListener
はコールバック/イベントハンドラメソッド用のデコレータです。
私のUpdate working Plunkerを参照してください。
動作例 作業用スタックブリッツ
更新情報
その他のイベントは、angular - で使用することができます。
(focus)="myMethod()"
(blur)="myMethod()"
(submit)="myMethod()"
(scroll)="myMethod()"
関連
-
[解決済み] Angular 2 Hoverイベント
-
[解決済み] NGIf else "の使い方を教えてください。
-
[解決済み] Angular 2+でngShowとngHideに相当するものは何ですか?
-
[解決済み] オブジェクトのキーと値に*ngForでアクセスする
-
[解決済み] Angularアプリを本番用にバンドルする方法
-
[解決済み] Angular 2のキープレスごとの変更イベント
-
[解決済み】使用しているAngularのバージョンを確認するにはどうすればいいですか?
-
[解決済み】Angularウィンドウのリサイズイベント
-
[解決済み] Angular 2 http.post()がリクエストを送信しない
-
[解決済み】Angular - サービスとコンポーネントでパイプを使用する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Angularフレームワーク入門
-
[解決済み] Angular [disabled]="MyBoolean "が動作しない。
-
[解決済み] Angular/RxJS `Subscription` からいつ退会すればいいのか?
-
[解決済み] NGIf else "の使い方を教えてください。
-
[解決済み] NgModuleにおける宣言、プロバイダ、インポートの違いは何ですか?
-
[解決済み] viewchildを使用して複数のviewchildrenにアクセスする
-
[解決済み] Angular2の変更検出:ネストされたオブジェクトに対してngOnChangesが発生しない
-
[解決済み] Angular Compiler は TypeScript >=3.4.0 と <3.5.0 を要求しているが、代わりに 3.5.3 が検出された
-
[解決済み] Angularでオブジェクトを繰り返し処理する【重複】。
-
[解決済み] ジョブ名「...getProjectMetadata」は存在しません。