在我的Angular应用程序的几个地方,我需要用ESC键清除用户的输入。问题是,我不知道如何用文本输入字段(textarea清除OK)。看到这个小提琴:
jsFiddle demonstration of the problem
捆绑:
<input ng-model="search.query" ui-keypress="{esc: 'keyCallback($event)'}" />
回调我用:
$scope.keyCallback = function($event) { $event.preventDefault(); $scope.search.query = ''; }
任何人都可以找出我用ESC键清除文本输入所需要做的事情?
解:
根据bmleite的建议,您不应该听“keypress”,而是“keydown”和“keyup”。问题是,“keydown”在Firefox中不起作用,所以只有“keyup”才能听到ESC的魔术。