HTC组件介绍及应用


====HTML行为和HTC行为===

HTML组件封 装了HTML内容,并可以插入到别的HTML文档中。在HTML组件出现以前,在HMTL文档中使用自定义控制唯一的办法就是使用微软ACTIVEX控 件,ACTIVEX控件的一个缺点之一就是使用前必须客户机安装HTML控件,另一方面将主页面下载到客户机,对于DHTML的作者来说HTML控件更具 吸引力,因为他们可以使用他们熟悉的语言开发自己的控件和组件,HTC提供了一个简单机制以在脚本中实现DHTML行为。一个HTC文件和HTML文件没 有任何差别,并且以“.htc”为后缀,它包括脚本和一系列HTC自定义说明元素,这些元素定义了HTML组件的属性、方法、事件等,所有HTC元素通过 对象的ID属性作为对象在脚本中使用,所有方法和属性均可在脚本中动态操作。

您可以使用HTC实现以下行为:

*设定属性和方法。通过“PROPERTY”和“METHOD”元素定义

*设置自定义事件。通过“EVENT”元素实现,用该元素的“fire()”方法释放事件,通过“createEventObject()”方法设置事件环境。

*访问所包含该HTC的的HTML页的DHTML对象模型,使用HTC的“element"对象,返回一个附加行为的元素,使用该对象,HTC可以访问包含文挡及它的对象模型(属性、方法、事件)。

*收取通知,使用”ATTACH“元素实现,浏览器不但通知HTC标准的DHTML事件,而且通知HTC两种特殊事件:oncontentready事件和ondocumentready事件 。 HTC封装了行为的定义 ,行为的概念第一次出现是在IE5。0中,HTC中的高级行为封装就是行为不能和元素标记分离,在IE5。0中,在脚本中行为可以从元素中分离出来,而在IE5.5中,元素不能和其原始行为分离。

<PUBLIC:COMPONENTlightWeight=false>
<PUBLIC:attachevent="onkeydown"onevent="enter2tab()"/>
<PUBLIC:attachevent="oncontextmenu"onevent="nocm()"/>
<PUBLIC:attachevent="onhelp"onevent="nohelp()"/>
<scriptlanguage="JavaScript">
functionenter2tab()
{
//按回车键跳转到下一输入控件
if(event.keyCode==13)
event.keyCode
=9;
////屏蔽Alt+方向键←和Alt+方向键→
if((window.event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39)))
event.returnValue
=false;
//屏蔽退格删除键、F5刷新键、Ctrl+r、F11、Ctrl+n、Shift+F10
if((event.keyCode==8)||(event.keyCode==116)||(event.ctrlKey&&event.keyCode==82)||(event.keyCode==122)||(event.ctrlKey&&event.keyCode==78)||(event.shiftKey&&event.keyCode==121))
{
event.keyCode
=0;
event.returnValue
=false;
}
//屏蔽Alt+F4
if((window.event.altKey)&&(window.event.keyCode==115))
returnfalse;
//屏蔽Shift加鼠标左键新开一网页
if(window.event.srcElement.tagName=="A"&&window.event.shiftKey)
window.event.returnValue
=false;
}
//屏蔽右键菜单
functionnocm()
{
event.returnValue
=false;
}
//屏蔽F1键
functionnohelp()
{
returnfalse;
}
</script>
</PUBLIC:COMPONENT>
引用方法:
1.
<inputtype="text"style="behavior:url(BodyKeyCode.htc);"> 2.
<divid="xxx"style="behavior:url(xxx.htc);width:100%;height:100%;border:1pxsolid#5672BA;overflow:auto"onitemclick="ItemClick()"'ImgPath="Pages/">

<PUBLIC:PROPERTYNAME="ImgPath"id="pid_ImgPath"GET="get_ImgPath"PUT="set_ImgPath"/>
<PUBLIC:EVENTNAME="onitemclick"id="evt_ItemClick"/>
<!--其中onitemclick,ImgPath就是htc定义的的方法,属性-->


优质内容筛选与推荐>>
1、JS闭包深入理解(理解篇)
2、(轉貼) Orcas知多少? (初級) (.NET)
3、转 举例详解HTML5中使用JSON格式提交表单
4、点击ListWidget 的 item 匹配TableWidget相同数据 将表头标记为红色
5、Eclipse 安装GWT插件及异常处理


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn