使用JavaScript模拟拖放

我知道jQuery可以以编程方式触发侦听这些事件的DOM元素上的事件.例如,$el.click()将触发$el上的点击事件,而无需用鼠标点击$el.

给定两个DOM元素dom1和dom2,是否可以使用jQuery(或vanilla JavaScript)以编程方式模拟从dom1到dom2的拖放,其中dom1是可拖动的,dom2可以使用jQuery UI进行删除.

注意:我想这样做的原因是构建自动UI测试.

最佳答案 你必须记住,jQuery.trigger不会触发HTML事件,也就是说,调用.click不会导致链接被跟踪.它只触发使用jQuery设置的事件.

http://jupiterjs.com/news/syn-a-standalone-synthetic-event-library是一个真正模仿HTML事件的库.它非常易于使用

以下断言’hello’已从页面中删除:

Syn.click( {},'hello' )
   .type( 'Hello World' )
   .delay()         //waits 600ms seconds by default
   .drag( $('#trash') , function() {
     ok( $('#hello').length == 0, "removed hello" )
 }); 
点赞