如何触发一个;更新;JavaScript中jQuery可排序的事件?
我想在集成测试中测试使用jQuery sortable进行的排序。为此,测试框架(capybara,selenium)允许我调用如何触发一个;更新;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
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(“更新”);