控件的onload事件在chrome中未被激发

js:

  var i = 0;
        function AddCheckBoxRelay(obj) {
            var session = '<%=Session["AnswerType"] %>';
            var chkRelay = '<%=chkRelay %>';
            if (chkRelay == true) {
                $(this).attr("checked", "&lt;%# DataBinder.Eval(Container.DataItem,'IsRelayExt')%&gt;");
                i++;
                $(this).attr("value", i);
                $(this).attr("style", "display:block;");
            }
        }

html:

   <td id="tdChk_<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" name="tdChk" >
                                                <input  id="IsRelayExt_<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" name="IsRelayExt" type="radio" text="设置中继分机" style='display:none;' onload="javascript:AddCheckBoxRelay(this)" onchange="javascript:SetIsRelay(this)" data-value="<%# DataBinder.Eval(Container.DataItem,"ExtPhoneID")%>" />
                                            </td>

input没有onload事件。。。body或者window才有。。

你要给指定的input执行AddCheckBoxRelay函数,自己在window.onload中获取所有input或者指定的input后执行一次AddCheckBoxRelay函数,传入这个input,而且你代码也有问题,你的这样绑定AddCheckBoxRelay函数this是指向window的,并不是你的inut,你不是传入参数了,直接用obj参数

   window.onload = function () {
        var ipts = document.getElementsByName('IsRelayExt')
        for (var i = 0; i < ipts.length; i++)
            AddCheckBoxRelay(ipts[i]);
    }

input没有onload事件。。。body或者window才有。。