我正在开发一个JavaScript程序,该程序可以监听用户的命令并做出相应的回复,但目前这个listen()函数是通过点击按钮来激活的。我想弄清楚如何设置一个函数,使其能够持续监听用户的命令,比如某个特定词汇,然后激活listen()函数。例如,当呼叫Alexa的名字时,Alexa就开始监听。当前代码如下:
<button class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored" onclick="listen()">
回答:
我建议你添加另一个onInput监听器,用来检查用户是否输入了某个特定词汇。
一旦该词汇被输入,就调用一个函数为该按钮添加listen()事件监听器。
例如:HTML –
<input type="text" name="" id="userI"><button id="activate">Find Secret</button>
JS –
const btn = document.getElementById("activate");const input = document.getElementById("userI");input.addEventListener("input", (e) =>{ if(input.value=="secret") { btn.addEventListener("click", secret); }})const secret = () => { alert("Secret is....");}
这只是一个建议。你可以进行很多改进。比如再次移除事件监听器等等。