Haben Sie noch nicht genug Rep, um Ihre Antwort zu kommentieren, aber ich würde gerne eine Verbesserung vorschlagen.
Versuchen Sie, Ereignis-Namespacing zu verwenden, wenn Sie diese binden/lösen. Dies ist besonders wichtig, wenn Ereignisse, um den Körper zu binden, wie es Ihnen ohne Unterbrechung alle anderen Bindungen des gleichen Typs zu entbinden erlaubt:
See:
https://css-tricks.com/namespaced-events-jquery/
componentDidMount: function() {
$(document.body).on('keydown.awesomeNamespaceName', this.handleKeyDown);
},
componentWillUnMount: function() {
$(document.body).off('keydown.awesomeNamespaceName', this.handleKeyDown);
},
handleKeyDown: function(event) {
if (event.keyCode == 13 /*enter*/) {
this.okAction();
}
if (event.keyCode == 27 /*esc*/) {
this.cancelAction();
}
},
http://stackoverflow.com/questions/27827234/ke Vielleicht würde es Ihnen helfen –