Як я магу ўсталяваць поле ўводу, каб ачысціць яго значэнне па змаўчанні на фокус з дапамогай AngularJS

Гэта даволі стандартная практыка UI, таму я вырашыў, што я змагу знайсці рашэнне вельмі хутка, але ў мяне не было ніякай ўдачы.

Гэта jQuery я звычайна пішу для гэтай функцыі:

(function($){   
    $.fn.focusClear = function(text) {
        text = text || this[0].defaultValue;
    this.focus(function() {
      if($(this).val() == text) $(this).val('');
    }).blur(function() {
      if( $(this).val() == '') $(this).val(text);
    });
    return this;
  };
})(jQuery);

Як я магу дамагчыся таго ж эфекту з дапамогай кутніх?

2

12 адказы

Не ўпэўнены, што, калі я разуменне вашай маюць намер функцыянальнасць дакладна, але вы можаце быць у стане выкарыстаць запаўняльнік нешта накшталт гэтага?

2
дададзена
Як жа я не ведаю, што гэта ?? Вялікі дзякуй.
дададзена аўтар Gausie, крыніца

Не ўпэўнены, што, калі я разуменне вашай маюць намер функцыянальнасць дакладна, але вы можаце быць у стане выкарыстаць запаўняльнік нешта накшталт гэтага?

2
дададзена
Як жа я не ведаю, што гэта ?? Вялікі дзякуй.
дададзена аўтар Gausie, крыніца

Я меў патрэбу ў гэтым таксама ў кутніх і прыйшоў з гэтым:

app.directive('input', function() {
    return {
      restrict: 'E',
      link: function(scope, element, attrs) {

        var defaultVal = element.val();

        element.bind("focus", function(e) {
            if(element.val() == defaultVal) element.val('');
        })

        element.bind("blur", function(e) {
            if( element.val() == '') element.val(defaultVal);
        });
      }
    }
});
1
дададзена

Я меў патрэбу ў гэтым таксама ў кутніх і прыйшоў з гэтым:

app.directive('input', function() {
    return {
      restrict: 'E',
      link: function(scope, element, attrs) {

        var defaultVal = element.val();

        element.bind("focus", function(e) {
            if(element.val() == defaultVal) element.val('');
        })

        element.bind("blur", function(e) {
            if( element.val() == '') element.val(defaultVal);
        });
      }
    }
});
1
дададзена

Я меў патрэбу ў гэтым таксама ў кутніх і прыйшоў з гэтым:

app.directive('input', function() {
    return {
      restrict: 'E',
      link: function(scope, element, attrs) {

        var defaultVal = element.val();

        element.bind("focus", function(e) {
            if(element.val() == defaultVal) element.val('');
        })

        element.bind("blur", function(e) {
            if( element.val() == '') element.val(defaultVal);
        });
      }
    }
});
1
дададзена

Я меў патрэбу ў гэтым таксама ў кутніх і прыйшоў з гэтым:

app.directive('input', function() {
    return {
      restrict: 'E',
      link: function(scope, element, attrs) {

        var defaultVal = element.val();

        element.bind("focus", function(e) {
            if(element.val() == defaultVal) element.val('');
        })

        element.bind("blur", function(e) {
            if( element.val() == '') element.val(defaultVal);
        });
      }
    }
});
1
дададзена

Angularjs не мае ўбудаваны слухачоў для выпадку факусоўкі, але вы можаце напісаць свой уласны.

Але перш за ўсё, звярніце ўвагу, што ўсе сучасныя браўзэры падтрымліваюць запаўняльнік атрыбут на палях ўводу, які робіць тое, што вы хочаце зрабіць.

<input type="text" placeholder="username" name="username">
0
дададзена

Angularjs не мае ўбудаваны слухачоў для выпадку факусоўкі, але вы можаце напісаць свой уласны.

Але перш за ўсё, звярніце ўвагу, што ўсе сучасныя браўзэры падтрымліваюць запаўняльнік атрыбут на палях ўводу, які робіць тое, што вы хочаце зрабіць.

<input type="text" placeholder="username" name="username">
0
дададзена

Запаўняльнік можа быць адказам вам трэба, але толькі ў тым выпадку, калі вы калі-небудзь спатрэбіцца трохі больш кантролю над элементам, я прапаную глядзець у дырэктывах:

У сутнасці, дырэктывы даюць вам магчымасць даваць элементы паводзін. І, калі вы хочаце зрабіць якое-небудзь маніпуляцыю DOM, прапанаваны метад, каб выкарыстоўваць гэтую функцыю вуглавога (ніколі не DOM рэчаў у кантролерах). Выкарыстоўваючы спасылка функцыі ўнутры дырэктывы, вы можаце лёгка захапіць элемент, яго атрыбуты і маніпуляваць рамкі элемента.

Надзея, што дапамагае.

0
дададзена

Запаўняльнік можа быць адказам вам трэба, але толькі ў тым выпадку, калі вы калі-небудзь спатрэбіцца трохі больш кантролю над элементам, я прапаную глядзець у дырэктывах:

У сутнасці, дырэктывы даюць вам магчымасць даваць элементы паводзін. І, калі вы хочаце зрабіць якое-небудзь маніпуляцыю DOM, прапанаваны метад, каб выкарыстоўваць гэтую функцыю вуглавога (ніколі не DOM рэчаў у кантролерах). Выкарыстоўваючы спасылка функцыі ўнутры дырэктывы, вы можаце лёгка захапіць элемент, яго атрыбуты і маніпуляваць рамкі элемента.

Надзея, што дапамагае.

0
дададзена

Запаўняльнік можа быць адказам вам трэба, але толькі ў тым выпадку, калі вы калі-небудзь спатрэбіцца трохі больш кантролю над элементам, я прапаную глядзець у дырэктывах:

У сутнасці, дырэктывы даюць вам магчымасць даваць элементы паводзін. І, калі вы хочаце зрабіць якое-небудзь маніпуляцыю DOM, прапанаваны метад, каб выкарыстоўваць гэтую функцыю вуглавога (ніколі не DOM рэчаў у кантролерах). Выкарыстоўваючы спасылка функцыі ўнутры дырэктывы, вы можаце лёгка захапіць элемент, яго атрыбуты і маніпуляваць рамкі элемента.

Надзея, што дапамагае.

0
дададзена

Запаўняльнік можа быць адказам вам трэба, але толькі ў тым выпадку, калі вы калі-небудзь спатрэбіцца трохі больш кантролю над элементам, я прапаную глядзець у дырэктывах:

У сутнасці, дырэктывы даюць вам магчымасць даваць элементы паводзін. І, калі вы хочаце зрабіць якое-небудзь маніпуляцыю DOM, прапанаваны метад, каб выкарыстоўваць гэтую функцыю вуглавога (ніколі не DOM рэчаў у кантролерах). Выкарыстоўваючы спасылка функцыі ўнутры дырэктывы, вы можаце лёгка захапіць элемент, яго атрыбуты і маніпуляваць рамкі элемента.

Надзея, што дапамагае.

0
дададзена