Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何触发一个;更新;JavaScript中jQuery可排序的事件?_Jquery_Jquery Ui_Testing_Jquery Ui Sortable - Fatal编程技术网

如何触发一个;更新;JavaScript中jQuery可排序的事件?

如何触发一个;更新;JavaScript中jQuery可排序的事件?,jquery,jquery-ui,testing,jquery-ui-sortable,Jquery,Jquery Ui,Testing,Jquery Ui Sortable,我想在集成测试中测试使用jQuery sortable进行的排序。为此,测试框架(capybara,selenium)允许我调用page.execute_脚本(“activeAdminSortable().sortable().update()”) 通过使用适当的参数触发update事件,在中,我可以模拟拖放来测试它是否工作。JavaScript代码的相关部分是: (function($) { $(document).ready(function() { $('tbody .grab

我想在集成测试中测试使用jQuery sortable进行的排序。为此,测试框架(capybara,selenium)允许我调用
page.execute_脚本(“activeAdminSortable().sortable().update()”

通过使用适当的参数触发
update
事件,在中,我可以模拟拖放来测试它是否工作。JavaScript代码的相关部分是:

(function($) {
  $(document).ready(function() {
    $('tbody .grabber').parents('tbody').activeAdminSortable();
  });

  $.fn.activeAdminSortable = function() {
    this.sortable({
      update: function(event, ui) {
        $.ajax({
          axis: 'y',
          cursor: 'move',
          url: ui.item.find('[data-sort-url]').data('sort-url'),
          type: 'post',
          data: { position: ui.item.index() + 1 },
          success: activeAdminSortableFlashFinished
        });
      }
    });

    this.disableSelection();
  }
})(jQuery);
我需要找到一种方法来触发
update
事件,并将正确的参数传递给它。有没有什么简单的方法可以创建这样一个
事件
,以及
ui
参数?并触发
更新


或者,我可以编写一些JavaScript来实际抓取、拖拽和删除项目,但这对我来说似乎相当脆弱。或者说这很简单?

在你有
.update()的地方添加
.trigger(“update”)
我正在使用
$(“#sortable”).trigger('sortupdate')
成功地达到同样的目的。

触发器后面的点不正确。您需要`.trigger(“更新”);