所以继承我的代码
html += "<li class='status-"+peeps[i].online_presence+"' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","+name+");'><a href='#' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","+name+");return false;'>"+peeps[i].name+"</a></li>";
基本上,在检查元素时,我可以看到它正在输出UID和名称。这是一行:
<li class="status-active" onclick="show_connect_message(503141088);streamPublish(503141088,David);"><a href="#" onclick="show_connect_message(503141088);streamPublish(503141088,David);return false;">David</a></li>
所以我做错了什么。我需要用双引号或单引号命名(David),否则控制台会说它无法找到引用的函数。
警告:Javascript Noob
感谢您的帮助!
答案 0 :(得分:2)
更改
streamPublish("+peeps[i].uid+","+name+")
到
streamPublish("+peeps[i].uid+",\""+name+"\")
反斜杠将转义双引号并且不会破坏字符串
答案 1 :(得分:0)
试试这个
html += "<li class='status-"+peeps[i].online_presence+"' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","""+name+""");'><a href='#' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","""+name+""");return false;'>"+peeps[i].name+"</a></li>";