Candy

:★..CANDY LOVE~。。●じ
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

addLoadListener

Posted on 2008-05-16 11:31  丽红  阅读(517)  评论(0编辑  收藏  举报
想实现这么一个功能
一个input旁边一个添加的按钮   点击按钮了出现一个DIV 然后里面有5条或者更多的记录 点其中的一条记录传一个ID给input .
<input id="name" type="text"/> <span id="btn">click me</span>
<div id="panel" style="display:none">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<style>
#btn{ cursorointer; background:#369; border:1px solid #669933;}
#panel{ border:1px solid #FF9900; background:#000; width:150px; color:#fff; font-weight:bold;}
#panel ul{ list-style:none; padding:10px;}
#panel li{ cursor: pointer;}</style>
<script language="javascript">
/*general function====================getObject is defined by me,you can rewrite it====*/
function getObject(obj){
       return document.getElementById(obj);
}
function text(e) {
    var t = "";
    e = e.childNodes || e;
    for ( var j = 0; j < e.length; j++ ) {
        t += e[j].nodeType != 1 ?
            e[j].nodeValue : text(e[j].childNodes);
    }
    return t;
}
function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}
/*general function===============text() and addLoadListener had cite 《pro in javascript》=========*/
var name=getObject('name');
var btn=getObject('btn');
var panel=getObject('panel');
function init(){
              btn.onclick=function(){
              panel.style.display=panel.style.display=="none"?"block":"none";
      
              }
              var data=panel.getElementsByTagName("li");
              //alert(data.length);
              //var currentObj
              for(var i=0;i<data.length;i++){
              var currentObj=data[i];
              currentObj.onclick=function(){
              name.value="";
              //alert(text(this));
              name.value=text(this);
              }
       }
}
addLoadListener(init);
</script>