javascript - 如何在 JS 中检查 Div 是否禁用 onclick
问题描述
我想检查类名为swatch-option的div并且它是动态出现的,并且这个类不仅有单个 div,现在还有很多具有相同类的 div 我想检查这些 div 中的一个是否是禁用并单击该 div 然后它向我显示一条消息。让我告诉你,我想在javascript中而不是在Jquery中执行此操作。我试过的代码是
<script type="text/javascript">
var e = document.getElementsByClassName("swatch-option");
e.onClick = MyFunction;
function MyFunction()
{
if (e.disabled == true) {
alert('working');
}else{
alert('not Working');
}
}
</script>
我也试过
<script type="text/javascript">
window.onload = function() {
var e = document.getElementsByClassName("disabled");
e.onClick = function MyFunction()
{
if (e.disabled == true) {
alert('Working');
}else{
alert('not Working');
}
}
}
</script>
但仍然无法正常工作
解决方案
div 元素不能是disabled
. 仅表单元素,如按钮和输入。但是,您可以通过在 div 上设置一些类名然后适当地设置该类的样式来模拟禁用状态。或者,您可以将您的 div 更改为按钮并设置默认浏览器样式。请注意,您的代码无论如何都不会工作,因为:
var e = document.getElementsByClassName("swatch-option"); // returns an array of elements
e.onClick = MyFunction; // e is not an element it's an array, and also MyFunction has not been declared yet.
如果您使用禁用类,则可以使用document.getElementsByClassName("disabled")
来获取禁用的元素。如果您在按钮上设置了 disabled 属性,则不会处理任何点击,因此无需执行更多操作。我建议采用这种方法。
推荐阅读
- javascript - 使用 Javascript 和 C# 连接服务器和客户端
- c++ - 构造不同类型的 C++ 向量数组
- javascript - dc 传单 - 动态标记
- sql-server - Check_mk_agent 错误:未能收集 SQL Server 实例
- android - 降低 ble for android 的 Tx 功率
- visual-studio - 项目xamarin中不存在目标“CssG”
- spring-boot - RestTemplate 模拟给出 NullPointerException
- azure - Azure函数队列触发器执行多次
- python - 从数据框的不同列显示堆积条形图的每种颜色的值
- node.js - pg-promise 将整数读取为字符串,即使在被解析之后也是如此