此方法在Chrome中有效,但在Firefox中不适用
https://ember-twiddle.com/aa8196622fcd6b8f6ce441c8a9174600?openFiles=controllers.application.js%2C
我发现了类似的问题here,但是没有理由不起作用。
我正在使用Firefox v61.0.1和Chrome v67.0.3396.99
//application.hbs
<div class="box">
<button type="button" class="close note-close" aria-label="Close">
<span aria-hidden="true" class="close" {{action 'testAction'}}>×</span>
</button>
</div>
//application.js
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
testAction: function() {
alert("Close Button Working");
}
}
});
如果您在Chrome中单击关闭按钮,则会在控制器中触发testAction。但是在firefox中,没有错误,但没有在控制器中触发我的testAction。
答案 0 :(得分:1)
单击按钮元素的嵌套元素不起作用。
将操作添加到按钮元素,并使用closure-actions(单击)
<button type="button" class="close note-close" aria-label="Close" onclick={{action 'testAction'}}>
<span aria-hidden="true" class="close note-close">×</span>
</button>