4

入力ボックスがあり、datepicker にバインドされています。私の見解では、この入力ボックスの横に小さなカレンダー アイコンがあります。ユーザーがこのカレンダー アイコンをクリックしたときに、入力ボックスのクリック イベントをトリガーしたいと考えています。カレンダーアイコンに適用したディレクティブを使用してこれを行いました。しかし、それはほとんどjQueryに似ています。これを達成する別の方法はありますか?私のアプローチが間違っている場合は、正しい方向に導いてください。私はAngularが初めてで、jQueryの使用を避ける記事を読んだことがあります。ありがとう

My Directive

myApp.directive('openCal',function($compile,$filter) {
    return {
        link:function(scope,element,attrs) {
            element.bind("click",function() {
                element.siblings("input").trigger("click");
            });
        }
    };
});

その正常に動作します。しかし、それが正しいアプローチかどうかはわかりません??

4

2 に答える 2

0

<label>これにアプローチする別の方法は、カレンダーを含む入力フィールドの要素を追加することです。次に、カレンダーをクリックすると、入力フィールドがフォーカスされます。focusあとは、入力フィールドでイベントをリッスンして余分な作業を行うだけです。これには、誰かがtabキーを押してキーボードを介して入力フィールドに移動した場合に機能するという追加のボーナスがあります。

于 2015-01-22T19:07:27.350 に答える