2
有没有办法可以“初始化”已被jQuery Mobile初始化的页面?我正在一个页面上运行整个测试套件,并希望在每次测试后清理JQM。这是目前的设置是这样的:jQuery Mobile:我可以“不初始化”页面吗?
before(function() {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.changePage.defaults.changeHash = false;
$.mobile.autoInitializePage = false;
$.mobile.defaultPageTransition = 'slide';
this.$el = $('<div></div>');
$(document.body).append(this.$el);
});
after(function() {
this.$el.remove();
});
afterEach(function() {
this.$el.empty();
});
it('some test', function() {
var page = $('<div data-role="page">...</div>')
this.$el.append(page);
// Each test will perform calls like these at some point
$.mobile.initializePage();
$.mobile.changePage(page, {
allowSamePageTransition: true,
pageContainer: this.$el,
transition: 'none'
});
assert_whatever();
});
第一次测试运行正常,但第二个运行时出现错误:
cannot call methods on loader prior to initialization; attempted to call method 'show'
谢谢你,你一定已经救了我几天痛苦的痛苦。 – jamix 2013-07-11 16:24:39