在 <input type="radio" onload="AddCheckBoxRelay(this)"> 中綁定 onload,Chrome 中不觸發。
<input>、<img>、<script>、<iframe> 等替換元素支持 onload,但 <input type="radio/checkbox/text> 等表單控件**不支持** onload 事件。 僅 window、body、img 等資源加載類元素觸發。
在 window.onload (或 jQuery $(function(){...})) 中統一查找並初始化:
window.onload = function() {
var inputs = document.getElementsByName('IsRelayExt');
for (var i = 0; i < inputs.length; i++) {
AddCheckBoxRelay(inputs[i]);
}
};
function AddCheckBoxRelay(obj) {
var chkRelay = <%=chkRelay %>;
if (chkRelay) {
obj.checked = <%= ... %>; // 設置勾選狀態
obj.style.display = 'block';
}
}
$(this) 但 this 指向 window,改用參數 obj 直接操作 DOM。