本帖最后由 clearcleartank 于 2011-04-18 16:43:41 编辑

解决方案 »

  1.   

    你贴的那个是JavaScript DOM 编程艺术里面的函数吧???
    跟你的代码有什么关系吗?
      

  2.   

    我的函数就是模仿 截图中的函数写的, 但是有问题, 请各位大侠 给看看。多谢。  
    我又把代码 格式化了一下,方便阅读。function prepareInputsForHints() {
    var oldOnblur;
    var inputs = document.getElementsByTagName("input");
    for (var i=0; i<inputs.length; i++){

    inputs[i].onfocus = function () {
       this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    } oldOnblur = inputs[i].onblur;
    if(i==1)
    {
    alert(typeof oldOnblur);   //这里显示是函数类型
    }

      if (typeof inputs[i].onblur != 'function'  )
      {
    inputs[i].onblur = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
    }
    else
    {
    alert("2"+oldOnblur);     //这里显示了该函数的内容
    inputs[i].onblur = function(){

    alert("3"+typeof oldOnblur);  //这里就显示 undefine
    oldOnblur('aa');     //为什么 firebug 这里老是提示 oldOnblur 不是一个函数呢?
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
    }
    if(i==1)
    {
    alert("4"+inputs[1].onblur);
    } }
      

  3.   

    编辑的格式怎么不生效呢?? 用插入源代码 试试function prepareInputsForHints() {
    var oldOnblur;
    var inputs = document.getElementsByTagName("input");
    for (var i=0; i<inputs.length; i++){inputs[i].onfocus = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    }oldOnblur = inputs[i].onblur;
    if(i==1)
    {
    alert(typeof oldOnblur); //这里显示是函数类型
    }  if (typeof inputs[i].onblur != 'function' )
      {
    inputs[i].onblur = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
    }
    else
    {
    alert("2"+oldOnblur); //这里显示了该函数的内容
    inputs[i].onblur = function(){alert("3"+typeof oldOnblur); //这里就显示 undefine
    oldOnblur('aa'); //为什么 firebug 这里老是提示 oldOnblur 不是一个函数呢?
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
    }
    if(i==1)
    {
    alert("4"+inputs[1].onblur);
    }}