Je crée une entrée utilisateur lors de l'un des événements:
var throwConnectBox = function() {
chat_box = document.getElementById('box');
div = window.parent.document.createElement('div');
input = window.parent.document.createElement('input');
input.type = "submit";
input.value = "Join chat";
input.onclick = "conn.send('$connect\r\n');";
div.appendChild(input);
chat_box.appendChild(div);
}
... mais l'entrée résultante n'a pas de propriété onclick. J'ai essayé d'utiliser
input.onclick = conn.send('$connect\r\n');
... à la place, mais ça n'a pas marché non plus. Qu'est-ce que je fais mal?
Essaye ça:
input.onclick = function() { conn.send('$connect\r\n'); };
Steve
Il y a un problème avec l'une de vos lignes ici; Je l'ai corrigé pour vous:
var throwConnectBox = function() {
chat_box = document.getElementById('box');
div = window.parent.document.createElement('div');
input = window.parent.document.createElement('input');
input.type = "submit";
input.value = "Join chat";
/* this line is incorrect, surely you don't want to create a string? */
// input.onclick = "conn.send('$connect\r\n');";?
input.onclick = function() {
conn.send('$connect\r\n');
};
div.appendChild(input);
chat_box.appendChild(div);
}
Est-ce que ça fait plus de sens?
Je pense que vous voudrez peut-être échapper au\r\n, si vous avez l'intention de passer ces derniers ...
conn.send('$connect\\r\\n')
Je ne vois pas vraiment ce que votre gestionnaire onclick essaie de réaliser ...
C'est l'une des raisons pour lesquelles j'ai décidé d'utiliser jQuery:
$('<input type="submit" value="Join chat" />')
.click( function() { conn.send('$connect\r\n'); } )
.appendTo('<div></div>')
.appendTo('#box');