я использую библиотеку Classy для программирования ООП в javascript.
я закодировал класс, который обрабатывает операции холста над элементом DIV.Из-за некоторых трудностей в некоторых частях кода мне пришлось использовать имя переменной объекта внутри класса, хотя это противоречит подходу ООП.
например:
drawer=new CanvasManager("div1",300,300);
var CanvasManager= Class.$extend({
blabla:function()
{
drawer.id=1;
}
});
Теперь яМне нужно использовать этот класс более одного раза в одном документе на разных DIV, и этот конфликт делает его невозможным. Единственное решение, которое у меня есть, это использование элементов iframe для их разделения.
Это было нормально, пока я не захотел получить содержимое iframe.из вида codeigniter вместо контроллер .
хотел использовать что-то подобное
<iframe class="iframeclass1">
<?php
echo $this->load->view('gallery/w2',array('item'=>$amount),true);
?>
</iframe>
вместо
<iframe class="iframeclass1" src="<?php echo base_url(); ?>index.php/gallery/w2c/<?php echo $item->amount; ?>">
</iframe>
Итак, какое еще решение мы должны решить для этого конфликта имен объектов?
edit :
, если вы спросите, почему вы его кодировалитаким образом, во-первых, некоторые функции jquery не позволяют передавать аргументы (например, each ()).фактически только функция bind () позволяет передавать аргументы, что очень помогло.если вы знаете какое-либо решение для этого, я был бы рад.
edit2
Трудность в том, что, скажем, функция Blabla похожа на
blabla:function()
{
$('.somediv').each(function()
{
$(this).html(drawer.id);
}
)
}
внутри каждой функции ключевое слово "this" становится указателем для селектора jquery.