Enterキーで次のtextaeraに、Backspaceキーで前のtextareaにfocusを移したいです
タイトルの通りです。質問させてください。EnterキーとBackspaceキーでのfocusの移動に対応した、textareaのディレクティブをつくっています。
textareaで入力したあと、Enterキーを押すとitemを保存して次のelementにfocusを移動、texttareaが空のときのみBackspaceキーを押すとitemを保存して前のelementにfocusを移動させる、ということをさせたいのですが詰まってしまって困っています... 見づらいコードですみませんがよろしくお願いいたします。
view(slim):
ul.section-list ng-repeat="content in shop.contents"
li.section ng-repeat="item in content.items"
div
textarea name="body" my-directive="" ng-model="item.body" ng-blur="itemSave(shop, content, item)"
javascript(angular):
angular.module('myDirective', []).directive 'myDirective', ->
{
restrict: 'A'
require: '?ngModel'
link: (scope, element, attrs, ngModel) ->
el = angular.element(element[0])
el.on 'keypress', (e) ->
if e.keyCode == 13 #Enterキーが押されたとき
el.blur()
# Enterキーで確定して次の要素に移りたい...
angular.element(element[0+1]).focus() #error
return
return
el.on 'keydown', (e) ->
if e.keyCode == 8 #Backspaceキーが押されたとき
if scope.content.items[scope.$index].body == '' #textareaが空のとき
el.blur()
# Backspaceキー確定して前の要素に移りたい...
angular.element(element[0]).focus() #error
return
return
return
}