代码之家  ›  专栏  ›  技术社区  ›  morgancodes

jquery(或纯js)模拟按enter键进行测试

  •  54
  • morgancodes  · 技术社区  · 14 年前

    模拟用户按“回车”的最佳方式是什么$(元素)。keypress()似乎不允许传入实际按下的键。

    这是用于单元测试的。

    2 回复  |  直到 9 年前
        1
  •  96
  •   AdrienBrault    12 年前

    Demo Here

    var e = jQuery.Event("keypress");
    e.which = 13; //choose the one you want
    e.keyCode = 13;
    $("#theInputToTest").trigger(e);
    
        2
  •  83
  •   Fabien Sa Shami    4 年前

    对于那些想在纯javascript中实现这一点的人,请看:

    使用标准键盘事件

    正如乔所说, KeyboardEvent 是现在的标准。

    const ke = new KeyboardEvent('keydown', {
        bubbles: true, cancelable: true, keyCode: 13
    });
    document.body.dispatchEvent(ke);
    

    你可以用 this page 帮助您查找右键盘事件。


    过时的答案 :

    你可以这样做(这里是Firefox)

    var ev = document.createEvent('KeyboardEvent');
    // Send key '13' (= enter)
    ev.initKeyEvent(
        'keydown', true, true, window, false, false, false, false, 13, 0);
    document.body.dispatchEvent(ev);