[英]Add Event Handler in JScript
在函數editCell()
,它響應HTML表格單元格的onclick事件而被調用,我正在嘗試這樣做:
var tbl = [valid table ref];
var row = tbl.insertRow(-1); // insert at end.
var newCell = row.insertCell(-1);
newCell.className = "tblItems newItem";
newCell.innerHTML = "  Click to add a property item...";
newCell.onclick = "editCell(this);";
在表格底部創建一個新的1單元格行,其中的新單元格就像是使用以下命令創建的:
...
<tr>
<td class="tableItems newItem" onclick="editCell(this);">
  Click to add a property item...
</td>
</tr>
...
但是onclick不會被提高(或者函數ref不會響應)。
一位同事說要使用:
newCell.onclick = function () {
editIt(this);
}
但似乎“ ...(this)...”將指向運行上下文。
將帶有參數的函數添加到JScript中新創建的單元格引用的正確方法是什么?
必須工作到IE 8,但只需要定位IE。
newCell.addEventListener('click', editCell, false);
或在較舊的IE版本中:
newCell.attachEvent('onclick', editCell, false);
這解釋了為什么使用addEventListener
優於onclick
。
.setAttribute("onclick","editCell(this);");
這將引用newCell。 但是,您正在嘗試調用錯誤的函數(editIt而不是editCell)
newCell.onclick = function () {
editCell(this);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.