AngularJS阻止Enter键上的模式打开
AngularJS prevent modal open on Enter key
我有一个模态窗口的问题。
我有两个部分,在一个部分(隐藏的)中,我有一个ng-click="function()"的按钮。
<section class='hidden'>
<button class="mobileUpdate" ng-click="openMobileUpdateModal()">SMS</button>
</section>
openMobileUpdateModal()打开模式对话框。问题是,当我在表单中的任何输入字段上点击回车键时,它都会打开模式窗口。
知道如何防止这种情况吗?
感谢
引用form
/ngForm
上的文档:
您可以使用以下两种方法之一来指定提交表单时应调用的javascript方法:
- ngSubmit对表单元素的指令
- ngSubmit类型的第一个按钮或输入字段上的Click指令(input[type=submit])
[…]
…HTML规范中的以下表单提交规则:
- 如果一个表单只有一个输入字段,那么点击该字段中的回车键将触发表单提交(ngSubmit)
- 如果一个表单有2个以上的输入字段,并且没有按钮或输入[type=submit],那么点击回车键不会触发提交
- 如果一个表单有一个或多个输入字段和一个或更多按钮或input[type=submit],那么在任何输入字段中点击enter将触发第一个按钮上的点击处理程序或input[type=submit](ngClick)和封闭表单上的提交处理程序(ngSubmit)
因此,根据您设置的其余部分,您可以通过更改按钮的顺序、检测和过滤关键事件、引入额外的form
元素等来解决问题。
请将按钮类型添加到模型对话框按钮中。
<section class='hidden'>
<button class="mobileUpdate" type="button" ng-click="openMobileUpdateModal()">SMS</button>
</section>
在表单中,如果我们有任何按钮输入,点击输入字段就会触发按钮的点击事件。所以总是将type="button"添加到表单中除提交按钮之外的所有按钮
<form>
Name <input type="text"/>
<button type="button">open model</button>
<button type="submit">Submit Form </button>
</form>
在openMobileUpdateModal()函数中放置if条件以检测关键事件。如果按下的键值为13(回车键),则从该功能返回,否则继续该功能。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- Javascript,访问一个主要对象模块模式中的每个对象
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 正在阻止UIWebView警报
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 试图阻止Chrome通过扩展关闭
- jQuery自动完成阻止选择后聚焦
- 阻止表单元素提交
- 阻止在select2单击时调用ajax
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何阻止我的模式对话框在单击按钮时关闭
- 第四模式阻止导航栏下拉菜单正常工作
- IOS9正在阻止模式移动链接
- 引导模式阻止右键单击
- 引导模式没有't在被阻止打开后显示
- IE兼容模式阻止我得到我的错误信息
- iOS UIWebView,如何阻止加载某个URL模式
- AngularJS阻止Enter键上的模式打开
- 是否有一种方法来阻止Web存储和IndexedDB关于模式的一部分起源