• Html元素动态添加方法


    今天做东东的时候要用js创建html元素然后动态给该元素添加方法,走了不少弯路。最后把解决方法发布,让大家以后少走弯路。

    js文件

    function CheckNull(id)

    {

         //DoSomeThing   

    }

    var CheckNewNull= function(id)

    {

        return function(){

            CheckNull(id);

         }

    }

     

    Html元素添加方法

    //创建一个textarea

    std2area=document.createElement("textarea");

    //设置属性

    std2area.setAttribute("id","member_Task"+position);

    std2area.setAttribute("name","member_Task"+position);

    //添加方法

    std2area.attachEvent("onblur",CheckNewNull("member_Task"+position));

     

    如果添加方法写成:std2area.attachEvent("onblur",CheckNull("member_Task"+position));

    或者写成std2area.attachEvent("onblur",CheckNull);

    那么会出现错误。原因是这样做是将CheckNull("member_Task"+position)的返回值赋给onblur

    而不是将函数CheckNull赋给该元素。所以正确的做法是将CheckNull用一个函数返回,如上所示。

     

    最后写写添加方法的其它途径:

     

      Std2area.onblur=CheckNull;

      Std2area.setAttribute(onblur,CheckNull);

     

  • 相关阅读:
    Java
    Java
    Java
    Java
    NYOJ 127 星际之门(一)
    BNUOJ 1013 YC大牛的判题任务
    BNUOJ 1011 人工智能?
    HDU 1035 Robot Motion
    HDU 1214 圆桌会议
    NYOJ 86 找球号(一)
  • 原文地址:https://www.cnblogs.com/jingtao/p/1192663.html
Copyright © 2020-2023  润新知