即时通讯在javascript中使用Classy库进行OOP编程。解决方案的JavaScript变量名称冲突非iframe?
我编写了一个类来处理DIV元素上的画布操作。由于代码的某些部分有一些困难,我不得不在类中使用对象变量名,即使它违背了OOP方法。
例如:
drawer=new CanvasManager("div1",300,300);
var CanvasManager= Class.$extend({
blabla:function()
{
drawer.id=1;
}
});
现在我需要使用这个类不止一次在不同的DIV一个文件中与该冲突使得impossible.Only解我所拥有的,使用iframe元素,以它们分开。
这是确定的,直到我想从一个笨视图,而不是控制器获取iframe中的内容。
想用这样的
<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>
那么其他的解决办法做,我们必须解决这个对象名称发生冲突?
编辑:
如果你问为什么你的代码是摆在首位的是这样,一些jQuery函数犯规让你来传递参数(例如每())。实际上只有bind()函数允许参数传递,这对帮助很大。如果你知道任何解决方案,我会很高兴。
EDIT2
难度此 可以说布拉布拉功能就像
blabla:function()
{
$('.somediv').each(function()
{
$(this).html(drawer.id);
}
)
}
每个功能内关键字 “this” 变成用于jQuery选择指针。
你可以给_why_变量名更全面/更清楚的解释是'CanvasManager'? – Shad
它不是类名冲突,它的对象名称 –