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

ce code ajoutera un événement double-cliquez sur la ligne .. droit .. Mais la chose est son travail pas en cas d'Internet explorer.Its workin bien dans le cas de tous les autres navigateurs ..comment ajouter un événement double-clic sur une ligne de table en utilisant javascript?

pour ajouter du style je suis gérer tout cela:

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;"); 

} 

tout organisme peut me aider comment ajouter un événement double clic en utilisant javascript qui travaillera également dans Internet explorer ??

Répondre

7

ne contiendraient pas les gestionnaires d'événement à l'aide setAttribute, il ne fonctionne pas comme vous attendez dans IE. Au lieu de cela, définissez-le directement sur la propriété du gestionnaire d'événements équivalent de l'élément:

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

préfet de travail ... merci –

2

Avec jQuery:

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

En outre, vous pouvez peut-être ajouter aux cellules au lieu de la ligne:

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

Si vous n'utilisez pas jquery, lui donner un essai, il fait les choses plus faciles. Ou tout autre cadre comme Prototype ou plus.

0

Au lieu de passer un argument de chaîne. Essayez de passer une fonction littérale comme ceci:

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