javascript - 卡斯珀.js : press key "enter" in an ExtJs input field

标签 javascript forms keypress casperjs extjs2

我在页面上有一个 ExtJs 文本字段。我在 casper.js 中用一些值填充它,效果很好。
然后我想聚焦这个字段并按 Enter 键,因为没有 <form>围绕它提交。

我尝试的是:

casper.then(function() {
  // the text field is filled with the string
  this.sendKeys('#searchfield', 'some text');

  this.evaluate(function() {
    // this does not put the field in focus        
    document.querySelector('#searchfield').focus();

    // so 'pressing' enter has no effect at all
    var evt = document.createEvent('KeyboardEvent');
    evt.initKeyboardEvent('keypress', true, true, window, 0, 0, 0, 0, 0, 13);
    document.dispatchEvent(evt);
  });
});

你知道如何实现吗?

最佳答案

你的代码

evt.initKeyboardEvent('keypress', true, true, window, 0, 0, 0, 0, 0, 13);

看第四个param,我猜应该是触发元素。这里应该是 document.querySelector('#searchfield')

一个提示:在casper evaluate中,final返回一个true,如果evaluate有错误,你会得到null。

var result = this.evaluate(function(){ /*code is here*/ return true;})

检查结果,如果成功

关于javascript - 卡斯珀.js : press key "enter" in an ExtJs input field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942717/

相关文章:

javascript - 当用户在文本字段中输入信息并单击js中的提交时,如何显示确认提示,显示已输入的内容

javascript - 如何在react-final-form中传递null作为字段的初始值?

jquery - 将单选按钮的值相加

c - 有没有办法检测是否按下了某个键?

javascript - Angular4 - 如何使用 Karma 和 Jasmine 对指令进行单元测试

javascript - 复选框和标签未显示在同一行

javascript - PHP JSON 编码输出与 Javascript Ajax 不兼容

javascript - 如何从 Servlet 中的 <div contenteditable ="true"> 中检索值

javascript - 单击按钮替换输入字段中的选定文本

python - 如何检测按键按下情况?