在一个 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() 不存在,您不能调用它们