父操作可防止在 ember.js 中调用提交操作
Parent action prevents from submit action from ever being called in ember.js
我有一个div。该div 有一个操作。div 还有一个作为子项的表单标记。该表单标记具有提交时操作。虽然我的div 上有一个操作,但永远不会调用表单提交操作。这是对的吗?
http://emberjs.jsbin.com/jeyaxodugi/1/edit?html,js,console,output
在上面的小提琴中,尝试删除div的操作,然后表单提交操作将正常工作。如何确保这两个操作都不只是父级调用。
默认情况下,操作帮助程序将调用Event#preventDefault
因此,当您单击提交按钮时,将执行divClick
,调用 preventDefault,因此不会调用formSubmit
。为避免这种情况,您可以使用选项preventDefault=false
例如 {{ action "divClick" preventDefault=false}}>
.在此之后,您会注意到,如果您单击提交按钮,divClick
和formSubmit
都将被触发,发生这种情况是因为单击事件从按钮冒泡到div,如果您不希望此行为,您可以在提交按钮中使用bubbles=false
,如下所示<input type="submit" value="submit" {{action "formSubmit" bubbles=false}}>
这是最终代码
<div id="my-div" {{ action "divClick" preventDefault=false}}>
Hello World
<form {{action "formSubmit" on="submit" }}>
<input type="submit" value="submit" {{action "formSubmit" bubbles=false}}>
</form>
</div>
以及更新的 jsbin http://emberjs.jsbin.com/doroqocafu/1/edit?html,js,output
可以在操作帮助程序文档中找到有关此内容的详细信息
我希望它有所帮助
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- HTML class=Ajax操作,如何让类点击调用好的操作
- 控制台.log触发,但随后的 Jquery 调用不执行任何操作
- 是否可以将alertify.js的cancel按钮和onclose调用的操作分开
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- 如何重新加载调用部分视图的操作
- React/Redux 状态在第二次操作调用时为空
- 如何使用ROR从控制器操作调用javascript函数
- 表单操作调用按钮
- 从表单操作调用JS函数,然后从JS调用PHP
- 在对支柱 1 执行操作调用之前确认对话框
- 如何在 Yii 中通过操作调用 CJui对话
- EmberJS actions - 当包装在“actions”中时,从另一个操作调用一个操作
- ServiceNow UI操作调用客户端和服务器代码
- 在js文件中播放框架控制器操作调用
- 使用URL从html表单操作调用Java API时返回的响应