如何在测试 Ember.js 组件时触发焦点和模糊事件?
this.$().focus();
或者this.$('input').focus();
似乎工作但在 phantomjs 和 chrome 中表现不同。
也this.$().blur();
或this.$().focusout();
似乎无法同时使用 phantomjs 和 chrome。
如何在测试 Ember.js 组件时触发焦点和模糊事件?
this.$().focus();
或者this.$('input').focus();
似乎工作但在 phantomjs 和 chrome 中表现不同。
也this.$().blur();
或this.$().focusout();
似乎无法同时使用 phantomjs 和 chrome。
较新版本的 Ember 具有可用于聚焦或模糊的测试助手。
...
import { find, focus, blur, render } from '@ember/test-helpers';
module('Integration | Component | example-input', function(hooks) {
test('it can be focused', async function(assert) {
await render(hbs`<myInput />`);
const input = find('input')
await focus(input)
await blur(input)
});
});
模糊:https ://github.com/emberjs/ember-test-helpers/blob/master/API.md#blur
焦点:https ://github.com/emberjs/ember-test-helpers/blob/master/API.md#focus
试一试trigger
,它对我有用
this.$('input').focusout();
this.$('input').blur();
this.$('input').trigger('focusout');
this.$('input').trigger('blur');
this.$('input').trigger('keyup'); // another event that you can trigger