簡體   English   中英

如何使用javascript在表行上添加雙擊事件?

[英]How to add double click event on a table row using javascript?

var nextRow = tbl.tBodies[0].rows.length;
var row = tbl.tBodies[0].insertRow(nextRow);
row.setAttribute('ondblclick', "return move_to_x_graph();");

此代碼將在行上添加雙擊事件。 但問題是它在Internet Explorer的情況下不起作用。在所有其他瀏覽器的情況下它工作正常。

為了添加樣式,我正在處理:

var cell2 = row.insertCell(1);
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer") {
    cell2.style.setAttribute("cssText", "color:black; width:300px;");
} else {
    cell2.setAttribute("style", "color:black; width:300px;");
}

任何人都可以幫助我使用Javascript添加雙擊事件,這也可以在Internet Explorer中使用嗎?

不要使用setAttribute設置事件處理程序,它不能像IE中預期的那樣工作。 而是直接在元素的等效事件處理程序屬性上設置它:

row.ondblclick = function() {
    return move_to_x_graph();
};

使用jQuery:

$(row).bind("dblclick", function(){return move_to_x_graph();});

此外,也許你可以將它添加到單元格而不是行:

$(row).find("td").bind("dblclick", function(){return move_to_x_graph();});

如果您不使用jquery,請嘗試一下,這會讓事情變得更容易。 或者像Prototype那樣的任何其他框架。

而不是傳遞字符串參數。 嘗試傳遞這樣的函數文字:

row.setAttribute('ondblclick', function () {return move_to_x_graph();});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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