element.addEventListener("click",handler,false);

解决方案 »

  1.   


    这是我想绑在onclick上的函数,他有一个参数sn。
    function deleteQuestion(sn)
    {
    var q = document.getElementById("question_"+sn);
    var q_num = parseInt(document.getElementById("input_form_question_num").value,10);
    var q_num_now = q_num -1;

    q.parentNode.removeChild(q);

    document.getElementById("input_form_question_num").value = q_num_now;
    alert("删除");

    return;

    }
    这是我生成的按钮
    el_input_button_del = createElement("input");
    el_input_button_del.setAttribute("type","button");
    el_input_button_del.setAttribute("value","删除");
    el_input_button_up.onclick= deleteQuestion;
      

  2.   

    可以直接document.getElementById(id).onclick = 函数名 
    不能带参数,如果document.getElementById(id).onclick = 函数名(参数);的形式将是调用函数返回结果给document.getElementById(id).onclick 而不是绑定。
    如果想判断当前是那个对象的事件可以通this.id来判断。
      

  3.   

    addEventListener
    能传递参数么?
      

  4.   

    不能只能用document.getElementById(controlid).click() 去触发controlid的click事件而且此法FF不支持
      

  5.   

    createElement后还要调用父窗口的appendChild()才可以的。
    要移除,真接this.parentNode.removeChild(this)就可以了。
      

  6.   

    恩。appendChild 我使用过了,并且成功显示了。函数绑不上啊
    el_input_button_del = createElement("input");
    el_input_button_del.setAttribute("type","button");
    el_input_button_del.setAttribute("value","删除"); el_input_button_up.onclick= deleteQuestion;
    竟然不运行
    function deleteQuestion()
    { alert("used");

    return;

    }
      

  7.   

    对不起,一直在犯一个白痴错误          el_input_button_del = createElement("input");
                    el_input_button_del.setAttribute("type","button");
                    el_input_button_del.setAttribute("value","删除");                el_input_button_up.onclick= deleteQuestion;
      

  8.   

    然后发现这样使用参数也成功了
    el_input_button_del = createElement("input");
    el_input_button_del.setAttribute("type","button");
    el_input_button_del.setAttribute("value","删除");
    el_input_button_del.onclick= function(){deleteQuestion(qn);};现在又有新的疑问,下代码的qn参数。他被写到了html里面了么?还是仅存在于javascript机制内?
    el_input_button_del.onclick= function(){deleteQuestion(qn);};
      

  9.   

    动态绑定事件如果要传参数那就多包裹一层
    如:
    function event(pram){}button.addEventListener("onclick",function(){event("aa")}, false);
    button.attachEvent("onclick",function(){
        event("aaa");
    });