gpt4 book ai didi

javascript - 如何在 AngularJS 单元测试中模拟像 'keypress' 或 'keydown' 这样的事件?

转载 作者:行者123 更新时间:2023-12-03 11:02:10 25 4
gpt4 key购买 nike

我看过以前的文章,但它们似乎已更新,我遇到了困难。谁能帮我找到解决方案吗?

我有一个指令,其中有一些事件绑定(bind)。这是一个信用卡号码过滤器,因此每 4 个数字添加一个空格,以便于阅读。我试图通过向其输入数字 5555555555554444 来在 karma/jasmine 中测试它,并期望 $viewValue 的响应为 5555 5555 5555 4444 ,但找不到触发事件的方法。

我尝试过 $setViewValue$render()$digest(),并且尝试了一些解决方案来自 StackOverflow(一年多了),但它们似乎不起作用。

是使用 jQuery 的唯一解决方案吗?如果是这样,那个 jQuery 解决方案仍然有效吗?我一直在尝试在不将 jQuery 包含到我的单元测试中的情况下做到这一点。

我正在使用的代码示例:

    elem.bind('keypress', parseKeyPress);
elem.bind('keydown contextmenu', parseKeyDown);
elem.bind('cut paste', parseCutPaste);

var parseHandler= function (value) {
return value ? returnNumbersOnly(value) : '';
};
ctrl.$parsers.unshift(parseHandler);
ctrl.$formatters.unshift(parseHandler);

想法?

最佳答案

您应该使用elem.trigger(...)根据需要发出这些事件。

关于javascript - 如何在 AngularJS 单元测试中模拟像 'keypress' 或 'keydown' 这样的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28036364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com