<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>微博发布功能</title> <style> *{margin:0; padding:0 } #weibo{ width: 600px; padding:10px; border: 1px solid #000; margin:100px auto 0; } #weibo textarea{ width: 455px; height: 165px; resize:none; vertical-align: bottom; } #weibo button{ width: 40px; height: 24px; vertical-align: bottom; } #weibo ul{ margin:20px 20px 20px 90px; } #weibo li{ line-height: 24px; list-style-type:none; border-bottom:1px dashed #ccc; word-break:break-all; /*自动换行*/ } </style> </head> <body> <div id="weibo"> 微博内容: <textarea></textarea> <button>发布</button> <ul> <li></li> </ul> </div> <script src="../jquery-3.7.0.js"></script> <script> $('button').click(function(){ // 1.拿到输入的内容 var res=$('textarea').val(); if(res!=''){ // console.log(res); // 2.创建孤儿元素 var oLi=$('<li>'+res+'</li>'); //3.添加元素 $('ul').prepend(oLi); //4.清空文本域 $('textarea').val(''); }else{ alert('请输入内容'); } }); </script> </body> </html>改进之后的代码
时间: 2024-03-21 11:44:42 浏览: 70
以下是改进后的代码,对用户输入内容进行了长度限制和敏感词汇过滤,添加了更友好的提示方式,并且使用原生 JavaScript 实现了相同的功能。
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>微博发布功能</title>
<style>
* {
margin: 0;
padding: 0;
}
#weibo {
width: 600px;
padding: 10px;
border: 1px solid #000;
margin: 100px auto 0;
}
#weibo textarea {
width: 455px;
height: 165px;
resize: none;
vertical-align: bottom;
}
#weibo button {
width: 40px;
height: 24px;
vertical-align: bottom;
}
#weibo ul {
margin: 20px 20px 20px 90px;
}
#weibo li {
line-height: 24px;
list-style-type: none;
border-bottom: 1px dashed #ccc;
word-break: break-all;
}
.error {
color: red;
font-size: 12px;
margin-top: 5px;
}
</style>
</head>
<body>
<div id="weibo">
微博内容:
<textarea id="content"></textarea>
<button id="submit">发布</button>
<ul id="weiboList">
<li></li>
</ul>
</div>
<script>
var content = document.getElementById('content');
var submit = document.getElementById('submit');
var weiboList = document.getElementById('weiboList');
submit.addEventListener('click', function () {
var res = content.value.trim();
if (res === '') {
showError('请输入内容');
return;
}
if (res.length > 140) {
showError('内容长度不能超过140个字符');
return;
}
if (isSensitive(res)) {
showError('内容包含敏感词汇');
return;
}
var oLi = document.createElement('li');
oLi.innerText = res;
weiboList.prepend(oLi);
content.value = '';
});
function showError(msg) {
var error = document.createElement('div');
error.className = 'error';
error.innerText = msg;
weibo.appendChild(error);
setTimeout(function () {
weibo.removeChild(error);
}, 2000);
}
function isSensitive(content) {
var sensitiveWords = ['敏感词汇1', '敏感词汇2', '敏感词汇3'];
for (var i = 0; i < sensitiveWords.length; i++) {
if (content.indexOf(sensitiveWords[i]) >= 0) {
return true;
}
}
return false;
}
</script>
</body>
</html>
```
改进后的代码对用户输入的内容进行了长度限制和敏感词汇过滤,并且添加了更友好的提示方式。使用原生 JavaScript 实现了相同的功能,避免了使用第三方库对页面加载速度的影响。
阅读全文