我从OREILLY" Head First HTML5 Programming"的第3章中选择了这个简单的代码。我做了一个"少数"调整,但没什么大的。如你所见,它只是一个简单的小播放列表管理器,具有一些功能和功能。警报。网页就像它应该的那样出现。点击"添加歌曲"按钮,它将歌曲添加到播放列表。一切都按预期工作,除非你点击"输入"在键盘上,播放列表中的所有歌曲都会消失。如何为" Enter"创建一个事件处理程序。键?我所知道的是"输入" keycode是13,我该如何将它应用到我的页面? " ALSO",正如您所看到的,我试图将其添加到播放列表中的任何歌曲都保存在Local Storage&每次打开网页时都会加载,但是没有" no"无济于事。任何帮助都将受到高度赞赏,提前谢谢!
以下是代码:
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="playlist.css">
<title>RTH</title>
<meta charset="utf-8">
<script>
loadPlaylist();
function handleButtonClick() {
var textInput = document.getElementById("songTextInput");
var songName = textInput.value;
if (songName == "") {
alert("Enter a track!");
} else {
alert("Congrats...track is now being added!");
}
var li = document.createElement("li");
li.innerHTML = songName;
var ul = document.getElementById("playlist");
ul.appendChild(li);
save(songName);
}
</script>
<body>
<Input type = "text" Id = "songTextInput" size = "40" placeholder = "Insert track here..."/>
<Input type = "button" id = "addButton" onclick ="handleButtonClick();" value = "Add Song"/>
<strong>
<ul id="playlist">
</ul>
</strong>
</body>
</html>
答案 0 :(得分:1)
由于您没有将表单数据提交到其他网址,因此您可以删除form
代码。当您按Enter键时,浏览器会提交表单,但如果没有表单,enter
将不会提交表单。然后你不必担心在JavaScript中处理它。
这假设您不希望enter
保存输入的歌曲。
答案 1 :(得分:0)
我认为你需要的是一个onsubmit事件处理程序
<form onsubmit="return validate()">
<Input type = "text" Id = "songTextInput" size = "40" placeholder = "Insert track here..."/>
<Input type = "submit" id = "addButton" value = "Add Song"/>
</form>
function validate(event) {
var textInput = document.getElementById("songTextInput");
var songName = textInput.value;
if (songName) {
alert("Enter a track!");
return false;
} else {
alert("Congrats...track is now being added!");
}
var li = document.createElement("li");
li.innerHTML = songName;
var ul = document.getElementById("playlist");
ul.appendChild(li);
save(songName);
return false;
}
演示:Fiddle
答案 2 :(得分:0)
您可以将事件参数添加到您的函数中。
JQuery方法:
$(document).ready(function() {
$('input').on('keyup', function(event) {
if(event.keyCode == 13)
{
alert('Enter');
event.preventDefault();
}
});
});
原始Javascript方法:
var Input = document.getElementByTagName('input');
Input.keyUp = function(event)
{
if(event.keyCode == 13)
{
alert('Enter!');
event.preventDefault();
}
}