2015-09-21 2 views
1

Данный код является частью кода todo-list.ng-enter с вызовом любой функции

Первая строка поле ввода, где его значение доступно через newTodo .Входное поле используется для ввода новой задачи в Todo-листе.

<input class="todoField" id="newTodoField" type="text" ng-model="newTodo" placeholder="Add New Todo" ng-enter> 
    <button id="todoSubmit" class="btn btn-default" ng-click="addTodo()">Add</button> 

Существует два способа представить вновь набранное имя задачи в JS.

.after набрав имя задачи, просто нажав на добавить кнопки (кнопка находится во второй строке) из code.which является вызовом функции addTodo() Js, которая делает работу добавления набранного текста в списке дел.

. После ввода имени задачи просто нажмите кнопку ввода с в поле ввода.

сомнение в отношении метода второго типа. Поскольку ng-enter does't вызывает любую функцию. Это было просто написано в конце тега. (Если код был как ng-enter="addTodo()" означает, что я бы ясно понял)

И более того, даже если нг ввести does't вызвать любую функцию второго метода работает красиво. Как модель ng-enter должна была называть addTodo() функция.

Полный код доступен в this_link. Демонстрация полной программы доступна в this_link

извините, если вопрос очень прост.

+0

Возможно [эта ссылка] (http://stackoverflow.com/questions/17470790/how-to-use-a- keypress-event-in-angularjs) отвечает на ваш вопрос? – AndersRehn

ответ

1

сомнение связано со способом второго типа. Поскольку ng-enter не вызывает никакой функции. Это было просто написано в конце тега. (Если код был как ng-enter="addTodo()" означает, что я бы четко понимать)

Честно говоря, нет никакой документации о ng-enter в угловых Docs, но вы можете заставить его работать с помощью директива ngEnter как:

app.directive('ngEnter', function() { 
    return function(scope, element, attrs) { 
     element.bind("keydown", function(ev) { 
      if(ev.which === 13) { 
       scope.addTodo(); 
       ev.preventDefault(); 
      } 
     }); 
    }; 
}); 
+0

спасибо за это. –

+0

@sivashanmugamkannan рад помочь вам, и вы радушны – Jai

0

Cant вы добавляете слушатель в текстовом поле? Как показано в этой ссылке: EventListener Enter Key

Вы могли бы получить что-то вроде этого:

$(function(){ 
    document.querySelector('#newTodoField').addEventListener('keypress',function(e){ 
    var key = e.which || e.keyCode; 
    if (key === 13) { // 13 is enter 
    addTodo(); 
    } 
}); 
}); 
Смежные вопросы