1
anglejs에서 빌드하려고하는 타이핑 교육 프로그램을 시뮬레이트하는 장난감 응용 프로그램이 있습니다. 어떤 템플릿에서도 ng-keypress를 성공적으로 사용할 수 없어 레이아웃의 body 태그에 부착해야했습니다. 이것은 약간 어색하다고 느낀다 그러나 다른 것은 작동하는 것처럼 보인다.Angularjs의 문서 레벨 키 누르기 이벤트 캡처
<!DOCTYPE html>
<html ng-app='TypingTrainer'>
<head>
<title>Typing Trainer</title>
<%= stylesheet_link_tag 'application', media: 'all'%>
<%= javascript_include_tag 'application', controller_name %>
<%= javascript_include_tag 'main' %>
<%= csrf_meta_tags %>
</head>
<body ng-keypress="$broadcast('my:keyup', $event)">
<%= yield %>
</body>
</html>
내가이 기능을 호출하기위한 컨트롤러입니다. 청취 기능은 사용자가 잘못된 문자를 입력 한 경우 커서를 움직여 문자 색상을 빨간색으로 변경합니다.
$scope.$on "my:keyup", (event, keyEvent) ->
console.log(keyEvent)
$scope.listen(keyEvent)
감사합니다.