Я не думаю, что вы можете обойтись без обработчика onComplete
, если только вы не захотите переписать прототип ajax API.Однако вам не нужно напрямую передавать закрытие в обработчик onComplete
.
Что вы можете сделать, это создать пустой объект в области верхнего уровня в вашем коде JavaScript:
var updates = { } ;
Теперь вы должны установить параметр onComplete
, чтобы он содержал компактную функцию, которая устанавливает свойство для объекта updates
по имени обновленного элемента div (+ дата для нескольких обновлений):
function update() {
var divName = arguments[0] ;
var date = new Date() ;
if( updates[divName] ) { //!! if there is an entry for that div fill date
updates[divName].push(date) ;
} else { //!! else create a new array with the current date
updates[divName] = [ date ] ;
}
}
СейчасВы можете проверить наличие обновлений, проверив объект для свойства по имени div:
/* code */
if( updates[divName] !== null ) {
isAlreadyUpdated() ;
} else {
isNotAlreadyUpdated() ;
}
/* more code */
Кстати, я не исключаю, что в API прототипа может быть методэто будет делать что-то подобное.Я не настолько знаком с прототипом.
Если его нет, надеюсь, это поможет!
FK