我正在其中一个事件中创建用户输入:
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');
......相反,但也没有工作。我做错了什么?
答案 0 :(得分:36)
试试这个:
input.onclick = function() { conn.send('$connect\r\n'); };
史蒂夫
答案 1 :(得分:6)
这里有一条线存在问题;我已经为你纠正了:
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);
}
这更有意义吗?
答案 2 :(得分:2)
我想你可能想逃脱\ r \ n,如果你打算通过这些......
conn.send('$connect\\r\\n')
我不太清楚你的onclick处理程序试图实现什么......
答案 3 :(得分:1)
这是我决定使用jQuery的原因之一:
$('<input type="submit" value="Join chat" />')
.click( function() { conn.send('$connect\r\n'); } )
.appendTo('<div></div>')
.appendTo('#box');