javascript - 使用 jQuery 在文本区域中按 Enter 键

标签 javascript jquery html ember.js

在验收测试中,输入文本后按 Enter 键会触发事件。我尝试填写文本并使用 keyEvent 按 Enter 键。

PS:Testem 忽略 keyEvent。

HTML:

<div class="issue-container">
<div class="create-container">
<div class="input-field ui-textarea md-animated ember-view">
<label id="ember1369-label" for="ember1369-input" class="active">Add an issue</label>
<textarea data-test-id="txtid" id="ember1369-input" class="md-textarea" style="height: 21.5px; overflow: hidden;"></textarea></div></div></div>

验收测试:

test('review-an-element', async function(assert) {
await fillIn(testSelector('txtid'), 'Input is typed here and then hit enter');
await keyEvent(testSelector('txtid'), 'keypress', 13);}); //hitting enter

我的 jQuery 尝试:

var e = jQuery.Event("keyup");
e.which = 13;
e.keyCode = 13;    
await $('.md-textarea').trigger(e);

最佳答案

您需要处理 keyup 事件,而不是 keypress 事件。 keypress 事件仅针对产生输出的按键(例如字母键)触发。引用:https://developer.mozilla.org/en-US/docs/Web/Events/keypress

对于您的验收测试:

更改

await keyEvent(testSelector('txtid'), 'keypress', 13);

await keyEvent(testSelector('txtid'), 'keyup', 13);

编辑:testSelector() 帮助器已弃用 - https://github.com/simplabs/ember-test-selectors/pull/134

关于javascript - 使用 jQuery 在文本区域中按 Enter 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45222167/

相关文章:

jquery - 不存在的利润率

javascript - 防止 knockout.js 可观察数组中的重复项

html - 大屏幕的@media 查询用于小屏幕

javascript - HTML5 context.clip() 使用图像

javascript - 从 Google 或本地加载 jQuery(如果不在线)

javascript - 在 PHP 中使用 JS OOP

javascript - 如何更改 Dojo 框架中的按钮类型属性

javascript - JSC3D 入门。在 JSC3D 中创建一个简单的文件查看器。文件未加载

javascript - 如何将html字符串代码转换为将出现在前端的实际html工作代码?

javascript - 仅在使用 jquery 检查后才在 div 之前添加元素