javascript - 是否可以在不改变其功能的情况下禁用 onclick?
问题描述
我知道onclick
在元素上禁用事件的方法是:
element.onclick = null;
启用:
element.onclick = function(){
// something
};
或者
element.addEventListener("click", me);
这很好,但是当你有几个元素时——每个元素都有相同的函数和不同的参数值——使用这种方式会有点烦人。有没有一种方法可以在不牺牲初始函数及其参数的情况下禁用它?
我想保持该功能的原样,而不必将其设置为 null 或其他内容以禁用。
解决方案
使用该disabled
属性禁用按钮。
<button onclick="alert('clicked')">Enabled</button>
<button onclick="alert('clicked')" disabled>Disabled</button>
这种方法的优点(优于替代答案中建议的“指针事件”)是它不仅会阻止您将按钮作为鼠标用户使用,还会阻止辅助技术和任何使用键盘的人。
在 JavaScript 中,您可以通过以下方式禁用或启用该属性:
el.disabled = true; // Disable.
el.disabled = false; // Enable.
或者使用 jQuery,你可以这样做:
$('button').prop('disabled', true); // Disable.
$('button').prop('disabled', false); // Enable.
推荐阅读
- postgresql - PostgreSQL 10 SELECT WHERE 语句
- python - Python中的日期字符串格式
- ios - 您的浏览器不支持 Webassembly - iOS
- mysql - 如何选择和更新行,使任何用户都不能再次选择同一行?
- python - 使用 lightsail 进行版本控制
- node.js - 有一种方法可以从返回的 create() 对象中排除属性?
- dpdk - DPDK 17.11.1 - drops seen when doing destination based rate limiting
- c# - ElasticSearch PostData 序列化插入不起作用
- python - 如何根据键值将键控 RDD 划分为 2 个分区
- python - discord python bot获取用户输入