我在一个简单的聊天应用程序中使用文本区域。我想仅在用户按 shift+return 时启用回车,并在用户单独按回车键时提交表单。
我正在使用 ngKeydown 指令。问题是当我按回车键时,消息发送正常,文本区域被清除,然后插入回车符。这意味着事件不断传播......
这是HTML代码:
<textarea ng-model="messageTyped" ng-keydown="checkReturn($event)"></textarea>
这是angularjs代码:
function chatController($scope, ChatService) {
$scope.messages = ChatService.messages
$scope.checkReturn = function(event) {
if (event.keyCode == 13 && !event.shiftKey) {
event.stopPropagation() // <------ this line seems to have no effect
// submit the message:
if ($scope.messageTyped) {
ChatService.SendMessage($scope.messageTyped)
$scope.messageTyped = ""
}
}
}
}
我不知道我错过了什么......感谢您的帮助!