快速导航×

使用 jQuery 动态添加列表项并避免页面刷新2025-11-18 12:10:39

使用 jquery 动态添加列表项并避免页面刷新

本文旨在解决使用 jQuery 动态向 HTML 列表 ( `

    ` 或 `
    `) 中添加列表项时,由于表单提交导致的页面刷新的问题。通过将事件处理程序绑定到表单的 `submit` 事件,并使用 `preventDefault()` 方法,可以有效阻止默认的表单提交行为,从而实现无刷新添加列表项的功能。

    动态添加列表项的常见问题

    在使用 jQuery 向 HTML 列表动态添加列表项时,一个常见的问题是点击按钮后页面会刷新,导致新添加的列表项消失。这通常是由于按钮位于

元素中,并且按钮的 type 属性为 submit,导致点击按钮触发了表单的提交行为。表单提交会默认刷新页面,因此新添加的列表项在刷新后会丢失。

解决方案:阻止表单默认提交行为

要解决这个问题,我们需要阻止表单的默认提交行为。可以通过以下两种方法实现:

  1. 将事件处理程序绑定到表单的 submit 事件:

    这是推荐的方法,因为它允许用户仍然可以通过按下回车键来触发添加列表项的操作,提高了用户体验。

    jQuery($ => {
      $("form").on('submit', e => {
        e.preventDefault(); // 阻止表单默认提交行为
        var needed = $("#bill").val();
        $(".need").append(`<li>${needed}</li>`);
      });
    });

    代码解释:

    • $("form").on('submit', e => { ... });:这段代码选择所有的 元素,并为它们的 submit 事件绑定一个处理函数。
    • e.preventDefault();:这行代码是关键。它阻止了表单的默认提交行为,即阻止了页面刷新。
    • var needed = $("#bill").val();:这行代码获取 id 为 bill 的输入框的值,并将其存储在变量 needed 中。
    • $(".need").append(\
    • ${needed}
    • `);:这行代码将包含输入值的新的列表项添加到 class 为need的
        ` 元素中。这里使用了模板字符串 (Template Literals) 来动态构建 HTML 字符串,这是一种更简洁和可读性更强的方式。
  2. 修改按钮的 type 属性:

    ChatCut ChatCut

    AI视频剪辑工具

    ChatCut 1086 查看详情 ChatCut

    可以将按钮的 type 属性从 submit 修改为 button。这样,点击按钮就不会触发表单的提交行为。

    <button type="button" class="btn btn-primary" id="needButton">Need</button>

    注意: 这种方法会禁用通过回车键提交表单的功能。

完整示例代码

以下是一个完整的示例代码,演示了如何使用 jQuery 动态添加列表项并避免页面刷新:

<!DOCTYPE html>
<html>
<head>
  <title>动态添加列表项</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
</head>
<body>

<form>
  <input type="text" id="bill" />
  <button type="submit" class="btn btn-primary btn-success" id="h*eButton">添加</button>
</form>

<div class="myNeed">
  <ul class="need">
  </ul>
</div>

<script>
jQuery($ => {
  $("form").on('submit', e => {
    e.preventDefault();
    var needed = $("#bill").val();
    $(".need").append(`<li>${needed}</li>`);
  });
});
</script>

</body>
</html>

使用方法:

  1. 将代码复制到 HTML 文件中。
  2. 在输入框中输入文本。
  3. 点击 "添加" 按钮或按下回车键。
  4. 新的列表项将动态添加到列表中,而页面不会刷新。

注意事项

  • 确保引入了 jQuery 库。
  • 确保选择器 (例如 $("#bill") 和 $(".need")) 正确地选择了目标元素。
  • preventDefault() 方法只能阻止默认行为,不能阻止事件冒泡。如果需要阻止事件冒泡,可以使用 stopPropagation() 方法。

总结

通过将事件处理程序绑定到表单的 submit 事件,并使用 preventDefault() 方法,可以有效地阻止表单的默认提交行为,从而实现无刷新动态添加列表项的功能。这种方法不仅解决了页面刷新的问题,还提高了用户体验,允许用户通过点击按钮或按下回车键来添加列表项。 建议使用第一种方法,因为它保留了表单的默认行为,允许用户通过回车键提交表单。

以上就是使用 jQuery 动态添加列表项并避免页面刷新的详细内容,更多请关注其它相关文章!


# 可以通过  # b站有没有网站推广  # seo发布标准是什么  # 免费网站建设入门知识  # 找个优化网站有没有  # 营销推广平台就找a火11星  # 律师网站建设大概费用  # 四川推广营销软文  # 网站建设有什么  # 尤溪网站小程序建设  # 营销策划推广是做什么的  # 是一个  # 或按  # 选择器  # 因为它  # jquery  # 这行  # 输入框  # 绑定  # 回车键  # 表单  # 表单提交  # 常见问题  # cdn  # 事件冒泡  # app  # ajax  # js  # html 


相关栏目: 【 企业资讯168 】 【 行业动态20933 】 【 网络营销52431 】 【 网络学院91036 】 【 运营推广7012 】 【 科技资讯60970


相关推荐: Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略  抓大鹅无需下载版 抓大鹅秒玩版入口  CSS Grid如何控制元素对齐_align-items与justify-items组合使用  Angular中父组件异步更新子组件复选框状态的实践指南  向日葵客户端怎么进行远程CentOS控制_向日葵客户端远程CentOS控制操作教程  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  c++如何使用Catch2编写单元测试_c++简洁易用的BDD风格测试框架  海棠账号登录入口_登录海棠账户同步阅读记录  J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析  12306选座怎么选到商务座_12306商务座选择与配置说明  网易大神怎么保存别人动态的图片_网易大神动态图片保存方法  使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性  Composer的 "check-platform-reqs" 命令有什么用_在部署前检查生产环境是否满足Composer依赖需求  Safari自带网页翻译功能怎么用 无需插件轻松看懂外文网站【方法】  Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践  Python大型XML文件高效流式解析教程  J*aScript中localStorage数据的获取、清洗与格式化教程  MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复  Mac终端命令大全_Mac常用Terminal指令速查  Pyrogram与g4f集成:异步编程实践与常见错误解决  淘宝支付提示失败如何解决 淘宝支付流程优化方法  163邮箱官方主页登录 直达网易邮箱登录核心页面  免费抖音短视频入口_抖音网页版短视频免费通道  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页  NRF24L01数据传输深度解析:解决大载荷接收异常与分包策略  Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践  AO3网页版最新入口合集 Archive of Our Own在线访问指南  cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法  windows10怎么查看本机ip_windows10命令提示符ipconfig使用  Golang如何测试channel通信行为_Golang channel通信测试与分析方法  Django AJAX 文件上传教程:解决图片无法保存到模型的常见问题  html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】  台积电1.4nm工艺A14瞄准2028:10年来性能提升80%  zookeeper 都有哪些功能?  修复二维数组索引越界异常:一维循环到二维坐标的正确映射  曝R星经典之作开发图 设计简陋但信息密集!  Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址  Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法  win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】  生成rdflib自定义SPARQL函数:参数匹配与实践指南  C++如何实现异步操作_C++11使用std::future和std::async进行异步编程  AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看  Go语言HTML解析:利用Goquery精准获取指定元素内容  三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】  Win10桌面图标出现小盾牌怎么办 Win10去除UAC图标教程【解决】  Go语言JSON解析深度指南:动态访问与结构体映射实践  163邮箱登录密码 163邮箱忘记密码找回  C++如何实现线程池_C++11手动实现一个简单的固定大小线程池  将HTML Canvas内容转换为可上传的图像文件(File对象)