jQuery UI 源库包含一个 jquery.simulate.js用于模拟鼠标和键盘事件的文件。使用该模拟函数而不是使用 jQuery event methods 有什么好处?什么时候测试 jQuery UI 的东西?
最佳答案
jquery.simulate.js
文件仅用于模拟事件 - 它不像 jQuery 那样提供完整的事件管理系统。这意味着,它创建一个假的事件对象,然后将这个事件发送到 DOM。这可以与 jQuery 的 .trigger()
方法进行比较,后者执行类似的操作。
但是,事件对象的许多属性都可以修改,包括它是否应该冒泡、源元素是什么、是否按下了任何特殊键、鼠标单击的确切 x 和 y 位置,等等。当我们调用 .trigger()
时,jQuery 通过仅将必要的属性设置为一些默认值来向我们隐藏这一点。另一方面,jquery.simulate.js
是为测试 而设计的(注意该文件位于“jquery-ui/tests/”下)。出于测试目的,您需要对事件对象进行更细粒度的控制,以更好地模拟真实的用户交互。
长话短说,除非您正在进行测试,否则您很可能根本不需要 jquery.simulate.js
。即使您需要它提供的某些功能,也请注意该文件不是 jquery-ui 库的正式部分。
关于jquery - jquery.simulate.js 和 jQuery 事件方法之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4423347/