我正在处理JavaScript事件。根据以下 MDN 文章,事件对象有一个名为 的标志isTrusted。https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted
我编写了一段代码,用于区分用户事件(由于实际用户操作而触发)和编程事件(由于 而触发)element.dispatchEvent(...)。我无法显示整个代码,但它如下所示:
document.addEventListener('click', (event) => {
if (event.isTrusted) {
// ... client code follows
// somewhere in the code I am dispatching another custom event on body element
document.body.dispatchEvent(...);
}
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试在(一个流行的单元测试库)中对这段代码进行单元测试JEST。不幸的是,我们无法模拟真实的点击事件,因为它是为您执行此操作的自动代码。在 JEST 中,该标志isTrusted始终设置为false,从而限制我测试客户端代码。
我无法直接更改 的值,isTrusted因为它是只读属性。我正在寻找可以模拟该事件并将isTrusted标志设置为 的方法true。
编辑:添加测试代码:
describe('Event.isTrusted', () => {
beforeAll(() => {
document.body.dispatchEvent = jest.fn();
const btn = document.createElement('button');
btn.id = 'btn'; …Run Code Online (Sandbox Code Playgroud) 编辑:添加插件配置更清晰
我uuid在汇总项目中使用包。起初,我收到了外部依赖加密的警告。所以我在我的汇总配置中添加了external和output.globals:
export default [{
input: '/path/to/input.js',
external: ['crypto'],
output: {
file: '/path/to/output.esm.js',
format: 'esm',
...
globals: {
crypto: 'crypto'
}
},
plugins: [
resolve({
customResolveOptions: {
moduleDirectory: 'node_modules'
},
preferBuiltins: true
}),
commonjs({
namedExports: {
uuid: ['v4']
}
})
]
}];
Run Code Online (Sandbox Code Playgroud)
警告消失了,但现在我的输出文件中有一个导入语句:
输出.esm.js
import crypto from 'crypto';
...
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我包含output.esm.js在浏览器中,这会起作用吗?
<script type="module" src="/path/to/output.esm.js"></script>
Run Code Online (Sandbox Code Playgroud) 我有一个场景,我需要执行以下操作:
SELECT *
FROM
[dbo].[MyTable]
WHERE
[Url] LIKE '%<some url>%';
Run Code Online (Sandbox Code Playgroud)
我必须在Url('%<some url>%')的开头和结尾使用两个%(通配符),因为用户应该能够搜索完整的URL,即使他键入了部分文本.例如,如果网址为http://www.google.co.in且用户输入"goo",则网址必须出现在搜索结果中.LIKE运营商正在导致性能问题.我需要一个替代方案,以便我可以摆脱这个声明和通配符.换句话说,我不想在这种情况下使用LIKE语句.我尝试使用T-SQL,CONTAINS但它没有解决我的问题.除了可以执行模式匹配并快速提供结果之外,还有其他可用选择吗?
contains ×1
cryptojs ×1
dependencies ×1
dom-events ×1
events ×1
guid ×1
javascript ×1
readonly ×1
rollup ×1
sql ×1
sql-like ×1
sql-server ×1
t-sql ×1
unit-testing ×1
uuid ×1