2016-03-28 4 views
0

Ich arbeite derzeit an einer Grafik-Anwendung mit d3.js. Im Folgenden ist der Link auf die d3-Zwang gerichteten Graphen: https://bl.ocks.org/mbostock/4062045 Wenn ich erstelle ein On-Click-Ereignis für einen Knoten wie:Drucken Konsolenmeldungen in einem Ausgabefenster auf HTML mit Javascript

node.on("click", function(d){ 
      console.log(d.id); 
         }); 

Dies auch die Namen der Knoten in der Konsole der Entwickler-Tool drucken des Browsers. Allerdings muss ich ein Fenster in der HTML-Seite (ein Widget) erstellen, das diesen Wert annimmt und beim Klicken auf den Knoten ausgibt.

Gibt es eine Möglichkeit, die Konsolenausgabe auf HTML-Fenster-Widget (nur ein anderes div) zu drucken?

P.S. Es wird eine ähnliche Frage gestellt: Wie erstellt man mit TextArea eine Ausgabekonsole? Aber die Antwort ist, das Schwellwert zu bestimmen und nicht, wie man es erstellt.

Hilfe geschätzt.

+0

'$ ('# somediv'). Append ('

' + d.id + '

');' statt console.log(), im Grunde. –

Antwort

0

Es ist kludsey, aber Sie könnten console.log = customLogFunc; an der Spitze Ihres Skripts schreiben.

0

Versuchen Sie ein neues Fenster via Javascript zu öffnen.

var myWindow = window.open("", "MsgWindow", "width=200, height=100"); 
myWindow.document.write(d.id); 
+0

Ich habe es, was du versuchst zu sagen. Wie auch immer, ich möchte eine Konsole ähnliche Anwendung erstellen, ähnlich wie normale Konsolen, die die Ereignisse im Diagramm d3 drucken. Ich habe versucht, Dialog in HTML zu verwenden, aber die Dimensionen und das Aussehen ist zu schlecht, vielleicht kann ich es später ändern, gibt es jedoch einen besseren Weg, es zu tun? – Omkar

+0

@Omkar - Sie können versuchen, einige js Plugins wie diese zu verwenden - http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow/ – koolhuman

0


Wenn Sie die Seite direkt zu modifizieren, in Javascript können Sie:

document.getElementById(); 

und es gibt eine Menge verschiedener Selektoren Sie auf here

Dann sehen Ändern Sie den HTML-Code, den Sie nur so machen müssen:

PS: Wenn Sie verwenden jquery Sie die $ Funktion wie diese zum Beispiel verwenden können, das gleiche zu tun:

$("#example").html("test"); 

Es verwendet die CSS-Selektor so bedeutet # id.

+0

Danke Colas, das hat mir geholfen! – Omkar

0

Wie lynko sagte Sie console.log außer Kraft setzen können:

console.log = function (message) { 
    //prettify message here 
    $("#console_out_div").append("<p>" + message + "</p>"); 
}; 

console.log("test123"); 
console.log([1,3,4]); 
console.log({a:"test", b: 2}); 

Sie müssen nur überprüfen Sie die instanceof und typeof Variable message und die Ausgabe prettify. So etwas wie fiddle.