Namespace.register("U.CD.L"); //注册左边控件栏js。 //拖动时鼠标松开执行的函数。 U.CD.L.ConMUp = function (SO, EV) { //计算各种元素的位置。 EV = this.E; var _TF = SO.innerHTML, _UDOD, _UDPD = $("#UCD_CT_SM_IF"), _LT = _UDPD.GetElementInfo(), _L = EV["X"] - _LT["BCRL"], _T = EV["Y"] - _LT["BCRT"]; document.body.removeChild(SO); //如果在iframe范围内,追加效果,还需要判断在Code窗口内,这个地方在iframe宽高发生改变时有问题!!!!以后再测试 if (_L > 0 && _L < _LT["OW"] && _T > 0 && _T < _LT["OH"]) { switch (_TF) { case "button": _UDOD = U.CD.C.Button(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "reset": _UDOD = U.CD.C.Reset(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "submit": _UDOD = U.CD.C.Submit(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "text": _UDOD = U.CD.C.Text(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "password": _UDOD = U.CD.C.Password(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "radio": _UDOD = U.CD.C.Radio(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "checkbox": _UDOD = U.CD.C.Checkbox(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "form": _UDOD = U.CD.C.Form(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "img": _UDOD = U.CD.C.Img(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "img": _UDOD = U.CD.C.Img(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //img case "table": U.CD.C.Table(_UDPD, _L, _T); break; //表格 case "textarea": _UDOD = U.CD.C.Textarea(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //textarea case "div": _UDOD = U.CD.C.Div(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //div case "p": _UDOD = U.CD.C.P(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //段落 case "h": _UDOD = U.CD.C.H(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //标题 case "ul": U.CD.C.Ul(_UDPD, _L, _T); break; //无序列表 case "ol": U.CD.C.Ol(_UDPD, _L, _T); break; //有序列表 case "navigation": _UDOD = U.CD.C.Navigation(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //导航条 case "pagination": _UDOD = U.CD.C.Pagination(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //分页 case "switchingcard": _UDOD = U.CD.C.Switchingcard(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //切换卡 case "search": _UDOD = U.CD.C.Search(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "register": _UDOD = U.CD.C.Register(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "shade": _UDOD = U.CD.C.ShadeForms(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "buttongroup": _UDOD = U.CD.C.ButtonGrop(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "bar": _UDOD = U.CD.C.Bar(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "preview": _UDOD = U.CD.C.Preview(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; //case "select": _UDOD = U.CD.C.Select(); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "select": _UDOD = U.CD.C.Select(_UDPD, _L, _T); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; case "comfirm": _UDOD = U.CD.UC.Confirm(_UDPD, _L, _T); U.CD.L.AppendIF(_UDOD, _UDPD, _L, _T); break; } } } //把元素追加到iframe中,并根据iframe中内容返回给代码区域。 U.CD.L.AppendIF = function (_UDOD, _UDPD, _L, _T) { $(_UDOD).addAttrArray({ "style": { "left": _L + "px", "top": _T + "px"} }); //修改左上角坐标。 //把iframe中的代码获取出来追加到div中,如何实现?必须先在代码区域打出,否则outerHTML会自动去掉里面的文字。! //U.CD.CD.DrawCode(_UDPD[0].contentWindow.document.documentElement.outerHTML);//这样做会导致非html元素,例如文字js css 元素中的内容样式发生改变 U.CD.CD.AppendHTML(_UDOD); //在iframe中添加拖动属性,暂时不要此功能! //$(_UDOD).addAttrArray({ "onclick": U.M.apply(this, [[U.D.iconmove, ([_UDOD, null, { "UP": U.CD.L.IFConMUp}])]]) }); //$(_UDOD).onclick = U.M.apply(this, [[U.D.iconmove, ([_UDOD, null, { "UP": U.CD.L.IFConMUp}])]]); //$(_UDOD).onclick = function () { alert("123"); } _UDPD[0].contentWindow.document.body.appendChild(_UDOD); //此处才是真正的往子iframe中追加节点。然后反馈到页面,凡是从小读取RS.htm就会初始化? _UDPD[0].contentWindow.document.body.innerHTML += ""; //执行iframe中的内容,这是bug? } //创建拖动对象 U.CD.L.moudt = function (TF) { //获取坐标 var _UDOD, _EV = U.M.GetMousep(); //创建拖动的元素 _UDOD = $$("div", { "className": "UCD_TOOLT_Drag", "style": { "top": _EV["Y"] + "px", "left": _EV["X"] + "px" }, "innerHTML": TF }, document.body); //由于采用了ul li元素,拖动时会出现问题。下面代码解决。 try { U.D.iconmove(_UDOD, window.frames["UCD_CT_SM_IF"], { "UP": U.CD.L.ConMUp }) } //桌面图标移动,由于用户会删除初始化js代码,导致错误,需要捕获,并修正。但还是会有问题啊 catch (e) {//有点纠结,把RS.htm重新赋值出来,暂时如此 _UDOD.releaseCapture(); _UDOD.parentNode.removeChild(_UDOD); document.onmouseup = null; //释放焦点,移除拖动节点,拖动事件赋空。 //拖动出错后确认重新获取代码,调用初始化函数 U.UI.Confirm("