в прототипе вы можете использовать функцию связывания (принадлежащую всем функциям) для предварительного заполнения значений и назначения контекста. Вместо этого вы можете использовать функцию карри, если вам не нужно использовать параметр контекста
например:
var options = Object.extend({month: date[0],
year: date[1],
day: date[2],
oncalchange: update.bind(this,arg1, arg2)});
или
var options = Object.extend({month: date[0],
year: date[1],
day: date[2],
oncalchange: update.curry(arg1,arg2)});
См. http://www.prototypejs.org/api/function/bind для получения дополнительной информации о привязке, и
http://www.prototypejs.org/api/function/curry для информации о карриаде
Редактировать
изменить функцию обновления на:
var update = function(element,d){
alert(element);
}
, затем предварительно определите элемент, используя curry или bind, как указано выше.
Я предполагаю, что обратный вызов ожидает функцию с одним параметром, и вы хотите, чтобы она занимала секунду, которую вы можете определить при установке обратного вызова. В таком случае порядок параметров очень важен. curry и bind могут использоваться для предварительной загрузки аргументов с самого начала, и поэтому параметры, которые вы хотите предварительно загрузить, должны быть определены перед любыми другими параметрами.