效果如图:
代码(需要自己引入jquery):
简易留言板
$(function () {
//提交留言方法
function submitForm() {
var content = $("#content");
var ul = $("
var li = $("
");li.html($("#msg").val() + " 删除");
ul.append(li);
$("#msg").val('请输入留言');
li.children('span:first').click(function () {
$(this).parent().parent().remove();
})
content.append(ul);
}
//点击提交按钮,提交留言
$("#btn").click(function () {
submitForm();
})
$(document).keydown(function (event) {
//按下Enter键时,提交留言
if (event.keyCode == 13) {
submitForm();
}
})
// 获取焦点
$("#msg").focus(function(){
$("#msg").val("");
});
// 失去焦点
$("#msg").blur(function(){
$("#msg").val("请输入留言");
});
})
好文推荐
大家都在找:
前端:前端面试题2024
html:html官方下载
发表评论
2024-07-19 15:20:36回复
1. 缺少引入jQuery库的路径,需要修改为正确的路径。
2. 在提交留言方法`submitForm`中,使用了`$(#msg).val('请输入留言')`,这会导致在每次提交留言后,输入框的值都被重置为请输入留言,而不是保留用户输入的内容,应该修改为`$(#msg).val($(#msg).val() + '请输入留言');`。
3. 在点击提交按钮时,没有阻止表单的默认提交行为,应该添加`event.preventDefault();`来阻止表单的默认提交。
4. 在按下Enter键时,提交留言的方法中,应该使用`$(#btn).click()`来触发提交留言的操作,而不是直接调用`submitForm()`函数。
5. 在获取焦点和失去焦点的方法中,应该使用事件对象来判断是哪个元素获得了焦点或失去了焦点,$(#msg).focus(function(){})`和`$(#msg).blur(function(){})`中的匿名函数无法访问到事件对象,可以使用箭头函数或者将匿名函数改为具名函数来解决这个问题。
6. 在HTML文件中,缺少引入jQuery库的语句,应该在``标签内添加如下代码:
```html
```
7. 在HTML文件中,缺少引入CSS样式表的语句,应该在``之前添加如下代码:
```html
```
`styles.css`是自定义的样式表文件名,如果没有自己的样式表文件,可以删除这行代码。
8. 在HTML文件中,缺少注释说明代码的作用和功能,可以在代码块前后添加注释来提高可读性。