我正在制作一个充当任务列表的Chrome扩展程序。您可以键入所需的任何任务(例如,购买鸡蛋)并将其添加到列表中。我想允许用户键入任务,然后按“ Enter”键将其添加到列表中。但是,我看到“键码”已被删除,因此我想知道是否还有其他可能的解决方案。我尝试使用以下方法:
<input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
<script>
var input = document.getElementById("newtask");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
alert('test');
event.preventDefault();
}
});
</script>
现在,我正在这样做,以便如果用户在输入/文本框中按Enter,将出现一个警告,指出“测试”。但是,当我按Enter键时,什么也没发生。
答案 0 :(得分:0)
可能是在添加事件侦听器时,并非DOM中的所有元素都已呈现。因此未找到 input (您可以通过在getElementById之后记录输入变量来进行检查)
如果是这种情况,请尝试使用Dom ready事件将事件附加到元素 像
document.addEventListener("DOMContentLoaded", function(event) {
});
或
$(document).ready(function(){
})
答案 1 :(得分:0)
我认为您应该尝试以下操作:
<input type="text" name="newtask" value="" spellcheck="false" placeholder="New Task" id="newtask">
<script>
var input = document.getElementById("newtask");
input.addEventListener("keypress",function() {
alert('test');
});
</script>
无需添加if
语句,请尝试使用keypress event