在一个 HTML 标签中调用多个函数
Calling many functions in one HTML tag
以下用于浏览器聊天的代码整体有效,但并不简洁。
<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>
这会调用机器人 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
中并减少代码?
在html中,您可以调用调用所有这些函数的函数。
就像你有脚本一、二、三然后你这样做
<randomtag onclick="call_all()"></randomtag>
<script type="text/javascript">
function call_all(){
one();
two();
three();
}
</script>
var pb = new Pandorabot("aiaas.pandorabots.com", 'validid', 'validname', 'validid');
这里的论据有效吗?如果此参数无效,则函数 doTalk()
不存在,您不能调用它们
以下用于浏览器聊天的代码整体有效,但并不简洁。
<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>
这会调用机器人 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
中并减少代码?
在html中,您可以调用调用所有这些函数的函数。 就像你有脚本一、二、三然后你这样做
<randomtag onclick="call_all()"></randomtag>
<script type="text/javascript">
function call_all(){
one();
two();
three();
}
</script>
var pb = new Pandorabot("aiaas.pandorabots.com", 'validid', 'validname', 'validid');
这里的论据有效吗?如果此参数无效,则函数 doTalk()
不存在,您不能调用它们