我假设“用户”是指脚本的重用者,而不是页面的访问者。一种方法是让他设置一个默认使用的全局选项。
var options = $.extend({}, {height: 100, width: 100}, $.slideroptions);
$('.slider').each(function() {
$(this).slider(options);
});
正如您所提到的,一个更复杂但更易于维护的选项是使用触发器。
var event = new $.Event('slider.init');
event.options = {height: 100, width: 100};
$(window).trigger(event);
$('.slider').each(function() {
$(this).slider(event.options);
});
然后用户可以在事件处理程序中覆盖:
$(window).on('slider.init', function(event) {
event.options.height = 90;
});
或者,您可以按滑块做出决定:
$('.slider').each(function() {
var event = new $.Event('slider.init');
event.options = {height: 100, width: 100};
$(this).trigger(event);
$(this).slider(event.options);
});
$(window).on('slider.init', function(event) {
if ($(this).is('.long-slider') {
event.options.height = 90;
}
});