Я создаю плагин jQuery, который создает объекты Raphael на лету, допустим, вы делаете ...
$("div").draw({
type: 'circle',
radius: '10',
color: '#000'
})
И код плагина (просто в качестве примера):
$.fn.draw = function( options ) {
//settings/options stuff
var width = $(this).width();
var height = $(this).height();
var widget = Raphael($(this)[0], width, height);
var c = widget.circle(...).attr({...})
//saving the raphael reference in the element itself
$(this).data('raphael', {
circle : c
})
}
Но тогда я бы хотел иметь возможность обновлять элементы следующим образом:
$("div").draw({
type: 'update',
radius: '20',
color: '#fff'
});
Я могу "спасти" объект, используя $ (this) .data (). Raphael.circle, нозатем он отказывается анимировать, я знаю, что это объект Raphael, потому что он даже имеет animate proto , но он выдает Uncaught TypeError: Невозможно прочитать свойство '0' из неопределенного).