簡體   English   中英

在JScript中添加事件處理程序

[英]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);"> 
            &#160;&#160;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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM