层数据设置修改问题
function createLayer()
{
//动态的创建一个层
var str=document.createElement( "div "); //创建的元素
..............
str.onclick = ClickLayer;
function ClickLayer()
{
....
....
var StartId = ClickLayer.StartId;
}
ClickLayer.StartId = CurrTdId;
ClickLayer.EndId = EndId;
}
我利用这个函数创建层,我想问一下这个层对应的 ClickLayer.StartId用代码可以重新赋值吗?如何赋值?
------解决方案--------------------ClickLayer.StartId 这个 StartId 只是函数数 ClickLayer 的一个静态属性,是可读写的
不过你的函数ClickLayer已经包含在另一个函数 cteateLayer 里了,所以不可以直接赋值了,所以要在 createLayer 函数里作一个与外沟通的接口:
<SCRIPT LANGUAGE= "JavaScript ">
<!--
function createLayer()
{
//动态的创建一个层
function ClickLayer()
{
//....
//....
var StartId = ClickLayer.StartId;
}
ClickLayer.StartId = "132 "//CurrTdId;
ClickLayer.EndId = "465 "//EndId;
window.getClickLayer = function(){return ClickLayer}
}
createLayer();
var CL = getClickLayer();
alert(CL.StartId);
CL.StartId = "789 "
alert(CL.StartId);
//-->
</SCRIPT>