Ответ 1
Попробуйте следующее:
input.onclick = function() { conn.send('$connect\r\n'); };
Стив
Я создаю пользовательский ввод в одном из событий:
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);
}
... но полученный результат не имеет свойства onclick. Я попытался использовать
input.onclick = conn.send('$connect\r\n');
... вместо этого, но не работал. Что я делаю неправильно?
Попробуйте следующее:
input.onclick = function() { conn.send('$connect\r\n'); };
Стив
Здесь есть проблема с одной из ваших строк; Я исправил его для вас:
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);
}
Это имеет смысл?
Я думаю, вам может понадобиться избежать \r\n, если вы намерены передать эти...
conn.send('$connect\\r\\n')
Я не совсем понимаю, к чему стремится ваш обработчик onclick...
Это одна из причин, по которой я решил использовать jQuery:
$('<input type="submit" value="Join chat" />')
.click( function() { conn.send('$connect\r\n'); } )
.appendTo('<div></div>')
.appendTo('#box');