当前位置: 首页 > news >正文

添加禁用状态

使用jQuery给登录按钮添加禁用状态

以下是几种使用jQuery给登录按钮(.login_but)添加禁用状态的方法:

1. 基本禁用方法

javascript

// 禁用登录按钮
$('.login_but').prop('disabled', true);// 启用登录按钮
$('.login_but').prop('disabled', false);

2. 禁用并添加视觉反馈

javascript

// 禁用按钮并添加样式
$('.login_but').prop('disabled', true).css({'opacity': '0.6','cursor': 'not-allowed'});// 启用按钮并恢复样式
$('.login_but').prop('disabled', false).css({'opacity': '1','cursor': 'pointer'});

3. 使用类控制禁用状态(推荐)

首先在CSS中定义禁用样式:

css

/* CSS */
.login_but.disabled {opacity: 0.6;cursor: not-allowed;pointer-events: none;
}

然后使用jQuery:

javascript

// 禁用按钮
$('.login_but').prop('disabled', true).addClass('disabled');// 启用按钮
$('.login_but').prop('disabled', false).removeClass('disabled');

4. 表单提交时禁用按钮的完整示例

javascript

$(document).ready(function() {$('form').on('submit', function(e) {// 禁用按钮防止重复提交$('.login_but').prop('disabled', true).text('提交中...');// 这里可以添加AJAX提交逻辑// 提交完成后记得重新启用按钮});
});

5. 带状态检查的禁用/启用方法

javascript

// 检查表单是否有效来启用/禁用按钮
function updateLoginButtonState() {var isFormValid = true; // 这里替换为实际表单验证逻辑$('.login_but').prop('disabled', !isFormValid).toggleClass('disabled', !isFormValid);
}// 表单输入变化时检查
$('input').on('input', updateLoginButtonState);

注意事项

  1. 使用 prop() 而不是 attr() 来修改 disabled 属性,因为 prop() 更可靠

  2. 禁用按钮后,最好也添加视觉反馈(如改变透明度或光标样式)

  3. 如果是表单提交,确保在AJAX请求完成或失败后重新启用按钮

  4. 对于现代浏览器,可以使用 pointer-events: none 来完全禁用鼠标交互

选择哪种方法取决于您的具体需求和项目样式规范。推荐使用CSS类的方式,因为它将样式与行为分离,更易于维护。

http://www.lqws.cn/news/203131.html

相关文章:

  • Python: 告别 ModuleNotFoundError, 解决 pipx 环境下 sshuttle 缺少 pydivert 依赖的终极指南
  • 有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
  • LabVIEW主轴故障诊断案例
  • Clickhouse统计指定表中各字段的空值、空字符串或零值比例
  • 机器学习监督学习实战五:六种算法对声呐回波信号进行分类
  • Mac 安装git心路历程(心累版)
  • ARM SMMUv3简介(一)
  • # 主流大语言模型安全性测试(二):英文越狱提示词下的表现与分析
  • Spring IoC 模块设计文档
  • FreeRTOS任务调度过程vTaskStartScheduler()任务设计和划分
  • LeetCode--24.两两交换链表中的结点
  • go-zero微服务入门案例
  • vite+tailwind封装组件库
  • 如何配置 MySQL 允许远程连接
  • 《探秘局域网广播:网络世界的 “大喇叭”》
  • 64、js 中require和import有何区别?
  • Xilinx FPGA 重构Multiboot ICAPE2和ICAPE3使用
  • LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 上
  • 【力扣链表篇】19.删除链表的倒数第N个节点
  • CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
  • A Survey on the Memory Mechanism of Large Language Model based Agents
  • LeetCode 08.06 面试题 汉诺塔 (Java)
  • uniapp 对接腾讯云IM群公告功能
  • 图上合成:用于大型语言模型持续预训练的知识合成数据生成
  • Linux中MySQL的逻辑备份与恢复
  • NamedParameterJdbcTemplate 使用方法及介绍
  • Readest(电子书阅读器) v0.9.53
  • Python爬虫-爬取各省份各年份高考分数线数据,进行数据分析
  • 使用 C/C++ 和 OpenCV 提取图像的感兴趣区域 (ROI)
  • Mysql批处理写入数据库