濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > HTC基礎(chǔ)知識(shí)

HTC基礎(chǔ)知識(shí)

熱門(mén)標(biāo)簽:不錯(cuò)的400電話辦理 南昌辦理400電話怎么安裝 電話機(jī)器人適用業(yè)務(wù) 徐州天音防封電銷(xiāo)卡 獲客智能電銷(xiāo)機(jī)器人 湛江電銷(xiāo)防封卡 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 佛山防封外呼系統(tǒng)收費(fèi) 哈爾濱外呼系統(tǒng)代理商
HTC是HTML Component的縮寫(xiě),是IE5及后續(xù)版本瀏覽器所支持的客戶(hù)端組件。據(jù)我個(gè)人理解,HTC就是一組以DHTML為基礎(chǔ)封裝了客戶(hù)端行為的腳本,每HTC以*.htc的文件存儲(chǔ),一個(gè)HTC是一個(gè)客戶(hù)端“類(lèi)”。 
對(duì)象
     document                                在給定的瀏覽器窗口中表現(xiàn)HTML文檔。
     element                          返回一份主文檔中連接行為的標(biāo)簽的參考。
     PUBLIC:ATTACH                    綁定一個(gè)函數(shù)到一個(gè)事件上,因此每次事件發(fā)生在特殊對(duì)象上時(shí)函數(shù)會(huì)被調(diào)用。
     PUBLIC:COMPONENT   以HTC指明文件的內(nèi)容。
     PUBLIC:DEFAULTS       設(shè)定一份HTC的默認(rèn)屬性。
     PUBLIC:EVENT             定義一個(gè)HTC的事件,使之暴露于包含該HTC的文檔。
     PUBLIC:METHOD        定義一個(gè)HTC的方法,使之暴露于包含該HTC的文檔。
     PUBLIC:PROPERTY              定義一個(gè)HTC的屬性,使之暴露于包含該HTC的文檔。 
方法
     createEventObject
     創(chuàng)建一個(gè)事件對(duì)象,當(dāng)需要傳遞事件附加信息給PUBLIC:EVENT元素的fire方法時(shí)使用。
事件
     oncontentready
     連接了行為的元素的內(nèi)容完全被解析時(shí)發(fā)生。
     oncontentsave
     連接了一份元素行為的一個(gè)元素的內(nèi)容被保存或復(fù)制前發(fā)生。
     ondetach
     從一個(gè)元素解除一份行為的連接前發(fā)生。
     ondocumentready
     當(dāng)包含行為的文檔完全被解析時(shí)發(fā)生。

示例
復(fù)制代碼 代碼如下:

PUBLIC:COMPONENT>
PUBLIC:PROPERTY NAME="grid"/>!--返回當(dāng)前的Grid,通過(guò)該屬性,可以訪問(wèn)當(dāng)前Grid的相關(guān)信息-->

!--和.Net中的DataColumn的定義類(lèi)似-->
PUBLIC:PROPERTY NAME="columnName"/> !--列名-->
PUBLIC:PROPERTY NAME="dataType"/>!--數(shù)據(jù)類(lèi)型,如System.String,和SmartGridColumn上的DataType的值保持一致-->
PUBLIC:PROPERTY NAME="allowNull"/>!--是否允許為空-->
PUBLIC:PROPERTY NAME="scale"/>
PUBLIC:PROPERTY NAME="precision"/>!--精度,主要用于數(shù)字型-->
PUBLIC:PROPERTY NAME="maxLength"/>!--最大長(zhǎng)度,主要用于文本-->
PUBLIC:PROPERTY NAME="extendedProperties"/>!--一般用xml串,因?yàn)樵诖鎯?chǔ)很多信息時(shí),解析非常方便-->

PUBLIC:METHOD NAME="select"/>!--全選。由于參照編輯框由INPUT、IMG組成,所以需要改寫(xiě)(重載)select方法-->
PUBLIC:METHOD NAME="focus">!--置焦點(diǎn)。由于參照編輯框由INPUT、IMG組成,所以需要改寫(xiě)(重載)focus方法-->
PUBLIC:PROPERTY NAME="input"  GET="getInput"/>
PUBLIC:PROPERTY NAME="value"  GET="getValue" PUT="setValue"/>
PUBLIC:METHOD NAME="cellDataCheck"/>
/PUBLIC:COMPONENT>
script language="javascript">    
    var id = null;

    //參照一般有兩個(gè)值,一個(gè)是顯示的Text,一個(gè)是id。idColumn指明id的Grid列
    var idColumn = null;

    var refUrl = null;
    var refIdColumn = null;
    var refNameColumn = null;

    var extendedProp = element.extendedProperties;
    if(extendedProp!= null  typeof(extendedProp) != "undefined")
    {
        var dom = new ActiveXObject("MSXML.DOMDocument");
        dom.loadXML(extendedProp);

        idColumn = dom.documentElement.getAttribute("idColumn");

        var refInfo = dom.documentElement.firstChild;
        refIdColumn = refInfo.getAttribute("idColumn");
        refNameColumn = refInfo.getAttribute("nameColumn");
        refUrl = refInfo.getAttribute("url");
    }

    var btn = element.getElementsByTagName("IMG")[0];    
    btn.onclick = btnClick;
    function btnClick()
    {
        var ret = window.showModalDialog(refUrl,self,'scrolling:no;resizable:no;status:no;dialogWidth:550px;dialogHeight:450px;center:1');

        if(ret != null)
        {
            var el = ret.documentElement.firstChild;
            if(el != null)
            {
                input.value = el.getAttribute(refNameColumn);

                if(idColumn != null  idColumn!="")
                {
                    id = el.getAttribute(refIdColumn);
                    grid.setCellValue(grid.row,idColumn,id);
                }            
            }
        }

        //--------------------------------------------------------------
        grid.setCellValue(grid.row,"num",100); //賦值示例
        grid.setCellValue(grid.row,"price",10); //賦值示例
        //-------------------------------------------------------------
    }

    var statusText = "";    
    var input =    element.getElementsByTagName("INPUT")[0];
    input.onblur = inputOnBlur;

    function inputOnBlur()
    {
        grid.status = statusText; //可以通過(guò)grid.status來(lái)修改Grid狀態(tài)條的狀態(tài)。
    }

    function getInput()
    {
        return input;
    }    

    //該方法由SmartGrid在顯示編輯器時(shí)調(diào)用。由于參照編輯器由INPUT、IMG等元素組成,所以需要告知SmartGrid在設(shè)置編輯器焦點(diǎn)時(shí),應(yīng)該讓哪個(gè)元素獲得焦點(diǎn)!
    function focus()
    {    
        input.focus();    
    }

    //該方法由SmartGrid在對(duì)編輯器全選時(shí)調(diào)用。由于參照編輯器由INPUT、IMG等元素組成,所以需要告知SmartGrid在全選編輯器的內(nèi)容時(shí),應(yīng)該怎樣進(jìn)行全選!
    function select()
    {
        input.select();
    }

    function setValue(val)
    {
        input.value = val;

        if(idColumn != null)
        {
            var r = grid.row;
            id = grid.getCellValue(r,idColumn);
        }
    }

    function getValue()
    {

        return input.value ;
    }

    function cellDataCheck(args)
    {
        return ;    
    }

/script>


標(biāo)簽:呂梁 蕪湖 廣西 懷化 蘭州 吉安 安康 紹興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTC基礎(chǔ)知識(shí)》,本文關(guān)鍵詞  HTC,基礎(chǔ)知識(shí),HTC,基礎(chǔ)知識(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTC基礎(chǔ)知識(shí)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于HTC基礎(chǔ)知識(shí)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    额济纳旗| 曲靖市| 土默特右旗| 瓦房店市| 含山县| 花垣县| 合川市| 屯昌县| 泾川县| 介休市| 望都县| 精河县| 化州市| 大城县| 湄潭县| 织金县| 皮山县| 鹤山市| 格尔木市| 阳春市| 临西县| 侯马市| 淮南市| 贵州省| 香港| 平乡县| 永嘉县| 江达县| 静安区| 洛浦县| 吐鲁番市| 台北县| 宜阳县| 新建县| 九江市| 阿城市| 扶风县| 北票市| 闽侯县| 丁青县| 静宁县|