Angularjs观察用户在输入文本中键入逗号的情况
Angularjs watch when user type comma in input text
所有这些都是问题所在,我想在用户键入时注意输入文本,当他键入逗号时,输入会得到验证,而不是ng-click="action()"
我想要像Comma Typed="action()"这样的东西,我尝试了ng-change,scope.watch(),没有缺少。。
到目前为止:
<input id="tagInsert" type="text" name="newTag" ng-model="newTag" ng-model-options="{debounce: 100}" typeahead="tag for tag in getTags($viewValue)" class="form-control" typeahead-loading="loadingTags" ng-keydown="addInterestOnEvent($event)" ng-disabled="interestLimit" autocomplete="off" ng-change="alert('stuff')" />
控制器:
$scope.$watch('newTag', function(val) {
if (val.keyCode == 188) { // KeyCode For comma is 188
alert('comma added');
action();
}
});
我也尝试过ng keydown:
$scope.addInterestOnEvent = function (event) {
if (event.which !== 188) return;
event.preventDefault();
$scope.addInterest();
};
这是行不通的。
编辑
它确实适用于ng-keydown="action()"
,只是我忘记了重新启动服务器。
您的$watch逻辑不正确$手表用于查找模型值的变化。请参考这个。$watch所做的只是在表达式更改时注册回调。
$scope.$watch('newTag', function(nv,ov) {
if (nv!==ov ){
action();
}
});
在您的情况下,您必须编写一个指令并查找,
相关文章:
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如何在不更改Javascript页面的情况下访问用户输入的电子邮件
- 在未经许可的情况下查看用户喜欢的facebook页面
- 用户单击带有哈希值的链接以访问该页面,如果禁用Javascript会发生什么情况
- Gmail 聊天如何在没有长轮询的情况下向用户发送数据
- 如何在没有JQuery的情况下,通过对服务器的基本ajax调用,根据浏览器上的用户活动保持服务器会话活动
- 如何在不创建用户帐户的情况下,允许每人(电脑/手机)在网站上的1篇帖子上只投1票
- 允许用户在不刷新页面的情况下留下多条评论
- 在没有javascript的情况下呈现网页之前,用户如何验证和定制页面
- 具有用户范围的Google Analytics自定义维度使用情况
- Angularjs观察用户在输入文本中键入逗号的情况
- 如何在不重定向用户的情况下更改地址栏URL(不使用历史API?)
- 如何在不使用地理位置的情况下获得用户所在城市
- 谷歌应用程序脚本:如何在没有用户交互的情况下调用绑定到处理程序的函数
- 如何在加载时仅在用户自己不滚动的情况下滚动页面
- 如何在没有用户确认的情况下在iPhone的浏览器中启动音频
- localStorage为用户注册如何在不丢失数据的情况下重定向
- 如何防止用户为每种情况选择单选按钮
- 是否可以在没有用户提交表单的情况下保存表单数据