我需要帮助来理顺这种混乱局面。以下浏览器聊天代码作为一个整体工作,但它并不整洁。
<p>chat in silence:</p>
<input id="yousay" name="input" size="52" onkeydown="if (event.keyCode == 13) { doTalk(); }"/>
<p>chat in with music:</p>
<textarea onfocus="clearContents(this);" id="chat" cols="50" rows="2" ></textarea>
<button type="button" onclick="triggerAll();">answer</button>
这些是脚本:
<script src="scripts/soundEngine.js"></script>
<script src="scripts/animationEngine.js"></script>
<script src="scripts/talk.js"></script>
这会调用bot API
<script>
var pb = new Pandorabot("aiaas.pandorabots.com", 'validid', 'validname', 'validid');
function doTalk() {
var input = document.getElementById("yousay").value;
document.getElementById("yousay").value = "";
pb.talk(input, function(data) {
var response = data["responses"];
document.getElementById("response").innerHTML = response;
console.log(response);
});
}
</script>
这个函数可以立即调用它们:
<script>
function triggerAll(){
doTalk();
play_song();
animate_song();
}
</script>
非常<textarea>
来电play_song()
和animate_song()
,但不会致电doTalk()
有没有办法可以将所有函数调用放在一个tag
中并减少代码?
答案 0 :(得分:1)
在html中,您可以调用调用所有这些函数的函数。 就像你有脚本一,二,三,你这样做
<randomtag onclick="call_all()"></randomtag>
<script type="text/javascript">
function call_all(){
one();
two();
three();
}
</script>
答案 1 :(得分:0)
var pb = new Pandorabot("aiaas.pandorabots.com", 'validid', 'validname', 'validid');
这里的参数是有效的吗?如果这些论点不合法,那么函数doTalk()
就不存在而且您无法调用它们