静心-心经http://cjh00758.blog.chinabyte.com复制地址
公告栏
痛苦是一种享受,磨难是享受的资本.不断的追求,痛并快乐着.埋头做事,抬头做人!
控制面板
日历
<2007年7月>
SuMoTuWeThFrSa
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
留言簿(0)
随笔档案

<HTML xmlns:myns>
<?IMPORT namespace="myns" implementation="CheckBox.htc" >
<?IMPORT namespace="myns" implementation="CheckBoxVL.htc" >
<BODY>

<SCRIPT>
function fktOnItemChanging()
{
// alert("onItemChanging")
 event.returnValue= true;
}
function fktOnItemChanged()
{
// alert("onItemChanged");
}
</SCRIPT>


<myns:checkbox  id=''cbx_1'' label=''Checkbox HTC'' labelonleft=''true'' value=''false'' onItemChanging=''fktOnItemChanging()'' onItemChanged=''fktOnItemChanged()'' />
<br/>
<myns:checkboxvl id=''cbx_2'' label=''Checkbox HTC + ViewLink'' onItemChanging=''fktOnItemChanging()'' onItemChanged=''fktOnItemChanged()'' />

</BODY>
</HTML>

 

另外需要引入的文件 CheckBox.htc

<PUBLIC:COMPONENT NAME="cbx" tagName="CHECKBOX">
<PROPERTY NAME="label" />
<PROPERTY NAME="checked" GET="getChecked" PUT="putChecked" />
<PROPERTY NAME="labelonleft" VALUE="true"/>
<PROPERTY NAME="value" GET="getValue" PUT="putValue" />
<PROPERTY NAME="onValue" VALUE="true"/>
<PROPERTY NAME="offValue" VALUE="false"/>
<METHOD NAME="show"/>
<EVENT NAME="onItemChanging" ID="onItemChanging"/>
<EVENT NAME="onItemChanged" ID="onItemChanged" />
<ATTACH EVENT="oncontentready" HANDLER="constructor" />

<SCRIPT >

 var _value;
 
 function constructor()  {
  var s;
  s = ''<INPUT name="cb_''+ uniqueID + ''" id="cb_'' + uniqueID + ''" type="checkbox" '' +
   ''onclick="'' + uniqueID + ''.checked= +cb_'' + uniqueID+ ''.checked" '';
  if( _value == onValue )
   s +='' checked="true" '';
  s+= "/>";
  element.insertAdjacentHTML(''afterBegin'', s);
  element.insertAdjacentHTML((labelonleft == "true")?''afterBegin'':''beforeEnd'',
   ''<LABEL for="cb_'' + uniqueID+ ''">'' + label + ''</LABEL>'');
 }

 function putChecked( newValue ) {
  value = (newValue?onValue:offValue);
 }

 function getChecked(){
  return ( _value == onValue);
 }

 function getValue(){
  return _value ;
 }

 function putValue( newValue ) {
  if (window.event == null)
   _value = newValue; /* initial*/
  else if (_value != newValue) {
   var oEvent = createEventObject();
   oEvent.newValue = newValue;
   oEvent.returnValue = true;
   onItemChanging.fire(oEvent);
   if (oEvent.returnValue)
    _value = newValue;
   eval(''cb_''+uniqueID).checked= ( _value == onValue );
   if (_value == newValue)
    onItemChanged.fire(oEvent);  
  }
 }

 function show(bCmdShow){
  style.visibility= (bCmdShow?''visible'':''hidden'') ;
 }


</SCRIPT>

</PUBLIC:COMPONENT>

第3个文件 CheckBoxVL.htc

 

<PUBLIC:COMPONENT NAME="cbxvl" tagName="CHECKBOXVL">
<PROPERTY NAME="label" />
<PROPERTY NAME="checked" GET="getChecked" PUT="putChecked" />
<PROPERTY NAME="labelonleft" VALUE="true"/>
<PROPERTY NAME="value" GET="getValue" PUT="putValue" />
<PROPERTY NAME="onValue" VALUE="true"/>
<PROPERTY NAME="offValue" VALUE="false"/>
<METHOD NAME="show"/>
<EVENT NAME="onItemChanging" ID="onItemChanging"/>
<EVENT NAME="onItemChanged" ID="onItemChanged" />
<ATTACH event="oncontentready" handler="constructor"/>

<PUBLIC:DEFAULTS viewLinkContent/>

<SCRIPT >

 var _value;
 function constructor()  {
  var s;
  s = ''<INPUT name="cbx" id="cbx" type="checkbox" onclick="element.checked=this.checked"'';
  if( _value == onValue )
   s +='' checked="true" '';
  s+= "/>";
  document.body.insertAdjacentHTML(''afterBegin'', s);
  document.body.insertAdjacentHTML((labelonleft == "true")?''afterBegin'':''beforeEnd'',
   ''<LABEL for="cbx">'' + label + ''</LABEL>'');
 }

 function putChecked( newValue ) {
  value = (newValue?onValue:offValue);
 }

 function getChecked(){
  return ( _value == onValue);
 }

 function getValue(){
  return _value ;
 }

 function putValue( newValue ) {
  if (window.event == null)
   _value = newValue; /* initial*/
  else if (_value != newValue) {
   var oEvent = createEventObject();
   oEvent.newValue = newValue;
   oEvent.returnValue = true;
   onItemChanging.fire(oEvent);
   if (oEvent.returnValue)
    _value = newValue;
   cbx.checked= ( _value == onValue );
   if (_value == newValue)
    onItemChanged.fire(oEvent);  
  }
 }

 function show(bCmdShow){
  style.visibility= (bCmdShow?''visible'':''hidden'') ;
 }


</SCRIPT>
</PUBLIC:COMPONENT>

作者:陈金华 阅读() 评论()  编辑 发表于:2006-09-29 04:26
文章评论
发表评论

标题 *  
姓名 *  
主页
内容 *  
   验证码: *