recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Il existe des plugins angulaires et jquery pour gérer les événements keydown

J'ai téléchargé un plug-in jq en ligne et la zone de saisie est liée à l'événement click, mais le script angulaire que j'ai écrit moi-même utilise également ng-keydown sur la même zone de saisie. . . Je pensais que la fonction de traitement des touches d'Angular serait exécutée, mais cela n'a pas fonctionné. . . Mais je ne peux pas supprimer le gestionnaire d'événements click du plug-in car sa fonction doit être utilisée. . . Je ne sais pas comment gérer cette situation

漂亮男人漂亮男人2800 Il y a quelques jours673

répondre à tous(2)je répondrai

  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:10:07

    <body ng-app="myApp" ng-controller="MyController">

    <!--自定义指令: 限制输入框中只能是1到100之间的数值-->
    <input type="text" score>
    <script type='text/javascript' src="angular.js"></script>
    <script type="text/javascript">

    angular.module('myApp',[])

                .directive('score', function () {
                    return {
                        link : function (scope, elements, attrs, controller) {  //在显示之前执行, 只执行一次
                            //得到input
                            //console.log('link()',elements);
                            var input = elements[0]
                            //给input绑定keyup的监听回调函数
                            input.onkeyup = function () {
                                //读取input的value, 判断是否合法
                                var score = input.value.trim()
                                //如果合法, background为white
                                if(score==='' || (score*1>=1&&score*1<=100)) {
                                    input.style.background = 'white'
                                } else {
                                    //否则为red
                                    input.style.background = 'red'
                                }
                            }
                        }
                    }
                })
                .controller('MyController', function($scope){
    
                });
                

    </script>
    </body>
    </html>

    L'événement keyup que je viens d'écrire aujourd'hui, keydown est similaire

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 17:10:07

    Vous ne pouvez pas l'écrire comme ça,
    Le premier choix est require : '?ngModel',
    Ensuite, récupérez la valeur de la zone de texte ngModel.$modelValue au lieu de input.value,
    Il n'y a pas non plus besoin d'éléments [ 0], l'élément représente
    jquery La réflexion est trop sérieuse. . .

    répondre
    0
  • Annulerrépondre