2009-10-27 119 views
3
var nextRow = tbl.tBodies[0].rows.length; 
var row = tbl.tBodies[0].insertRow(nextRow); 
row.setAttribute('ondblclick', "return move_to_x_graph();"); 

这个代码将在行添加一个双击事件..权利.. 但事实是它不是在互联网explorer.Its干活中的所有其他浏览器的情况下,罚款的情况下工作..如何在使用javascript的表行上添加双击事件?

对于添加的风格我正在处理这个:

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中运行双击事件?

回答

7

不要使用setAttribute没有设置事件处理程序,它不工作,你会在IE的期望。而是直接将其设置在元素的等效事件处理程序属性上:

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

工作知情者...谢谢 – 2009-10-27 10:34:55

2

使用jQuery:如果你不使用jQuery

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

,给它一个尝试,它使:

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

另外,也许你可以把它添加到细胞,而不是排事情更容易。或者像Prototype等其他框架。

0

而不是传递一个字符串参数。尝试传递一个函数文字是这样的:

row.setAttribute('ondblclick', function() {return move_to_x_graph();}); 
相关问题