标题:向高手请教(别人的程序都写出来了,俺还没看懂)
只看楼主
caolf2006
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-12-5
 问题点数:0 回复次数:7 
向高手请教(别人的程序都写出来了,俺还没看懂)

我在看一个关于像我们的发帖子实现功能差不多的程序代码,可是有一些地方看不懂,还请各位大哥给以指点啊,我都研究了好几天了,才有一知半解啊!下面是不太明白的地方啊。
哪位大哥能为小弟解决下面的困惑啊,并且下面每个函数的具体作用什么什么啊?
这个函数在初始化编辑窗口时就调用了啊。
function _CState()
{
this.selection = null
this.bMode = true
this.customButtons = false (1)这里什么意思啊
this.css = this.bgColor = ""
this.defaultSkin = document.styleSheets.skin.cssText
this.popupSkin = document.styleSheets.popupSkin.cssText
this.aLinks = new Array()
this.szSearch = location.search.substring(1) (2)这里获得URL的问号后的内容有什么用啊
this.aBindings = new Array()
this.aListPopups = new Object()
this.aCache = new Object()  (3)这里新创建的对象是不是在缓存里啊
this.RestoreSelection = _CState_RestoreSelection
this.GetSelection = _CState_GetSelection
this.SaveSelection = _CState_SaveSelection
}

这个函数的主要作用是什么啊
function insertHTML(szHTML)
{
var sType
var sel = g_state.GetSelection()
sType = sel.type
if (g_state.bMode) {
if (sType=="Control") (4)这是城什么意思啊
sel.item(0).outerHTML = szHTML (5)这晨item(0)这个函数是系统的吗,他是指对象的什么啊
else
sel.pasteHTML(szHTML) (6)这里的object.pasteHTML是系统函数吗?其用法怎么用啊?
}
else
sel.text = szHTML
}
下面这三个函数分不清什么区别啊
function _CState_RestoreSelection() //看字面意思是重存选择
{
if (this.selection) this.selection.select()
}
function _CState_GetSelection()  //获得选择
{
var oSel = this.selection
if (!oSel) {
oSel = idEditbox.document.selection.createRange()
oSel.type = idEditbox.document.selection.type
}
return oSel
}

function _CState_SaveSelection()   (8)保存选择它和上面的获得选择有什么区别啊
{
g_state.selection = idEditbox.document.selection.createRange()
g_state.selection.type = idEditbox.document.selection.type
}

下面这个函数什么意思啊,
function _CPopupRenderer_ResetContext(oDoc)
{
this.oDocument = oDoc
this.elCurrent = null
if (this.szType=="Table") {
var oSel = idEditbox.document.selection.createRange()  (9)createRange()不是创建热区吗,这里怎么把这个热区赋给了对象呢
var oBlock = (oSel.parentElement != null ? _CUtil_GetElement(oSel.parentElement(),"TABLE") : _CUtil_GetElement(oSel.item(0),"TABLE")) 这里用到的函数下面附上
if (oBlock!=null) {
oDoc.all.tabEdit.className=""
oDoc.all.tabEditBodytxtPadding.value = oBlock.cellPadding
oDoc.all.tabEditBodytxtSpacing.value = oBlock.cellSpacing
oDoc.all.tabEditBodytxtBorder.value = oBlock.border
oDoc.all.tabEditBodytxtBorderColor.value = oBlock.borderColor
oDoc.all.tabEditBodytxtBackgroundImage.value = oBlock.background
oDoc.all.tabEditBodytxtBackgroundColor.value = oBlock.bgColor
}
oDoc.elCurrent = oBlock
}
}
function _CUtil_GetElement(oEl,sTag)//辨别是否与其标识一致,并作出不同的处理?
{
while (oEl!=null && oEl.tagName!=sTag)
oEl = oEl.parentElement
return oEl
}

搜索更多相关主题的帖子: function false color 
2005-12-29 18:05
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
得分:0 

function _CState()
function _CState_RestoreSelection()
function _CPopupRenderer_ResetContext(oDoc)
这不是函数~是自定义的对象,其他的是函数

1,2,3是对象的属性,属性的数据类型是,bool,string,object

sel = g_state.GetSelection()可以看出,g_state是function _CState()的一个实例

item是系统的,很多对象都有这个属性~

pasteHTML()是一个方法,在指定的文字区域内替换该区域内的文本或者HTML,该方法必须应用于一个 createTextRange() 或者 document.selection.createRange() 创建的区域上

8,是一个函数,是function _CState()的一个方法

9,对对象的引用


吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2005-12-30 07:00
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
得分:0 
文本编辑器?

吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2005-12-30 07:18
caolf2006
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-12-5
得分:0 
是的,文本编辑器,我看了一周多了,才懂一点,还不许多具体的不是很懂啊。还望大哥给多加指点啊。
2005-12-30 08:27
caolf2006
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-12-5
得分:0 
item是系统的,很多对象都有这个属性~这个属性可以给说的明确一下吗,我不是太懂啊,也见到好几次了,比如在这里item(0)item(1)代表什么呢,我不是太明白啊。还有就是location.search.substring(1)我只知道是取URL的问号后的部分,在里有是什么用途呢。我不是很明白啊。还望大哥给指点一下啊!
2005-12-30 08:42
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
得分:0 


<script>
function b() {
document.all.a.item(0).value=\"第一个值\"

}
</script>
<form id=a>
<input type=text>
<input type=text>
<input type=text>
<input type=text>
<input type=text>
<input type=text>
<input type=text>
<input type=text>
<button onclick=b()>a</button>
</form>


吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2005-12-30 12:09
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
得分:0 
http://www.google.com/?search=something
location.href.search 的值就是 "?search=something"
location.href.search.substring(1)就是"search=something"

吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2005-12-30 12:21
caolf2006
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-12-5
得分:0 
首先再次谢过了啊,我再接下来看看其它的,看看能不能全看懂啊!
2005-12-30 16:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-40767-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.651833 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved