checkbox disabled="false" 后执行不了点击事件?

夜雨_Jason 2014-04-11 09:46:28
代码如下,我想要不能选中的checkbox执行NO,但执行不了。该怎么解决?

<input type="checkbox" disabled="false">
<input type="checkbox">
<script>
var aInput = document.getElementsByTagName("input");
for(var i=0; i<aInput.length; i++){
aInput[i].onclick = function(){
if(this.getAttribute("disabled")=="false"){
alert("NO");
}else{
alert("OK");
}
}
}
</script>
...全文
968 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知数 2014-04-11
  • 打赏
  • 举报
回复
给禁用的checkbox加个标志,用脚本禁止选中吧,不设置disabled 然后判断那个标志弹出ok,no即可 代码相信楼主自己就可以写好
For_You 2014-04-11
  • 打赏
  • 举报
回复
只是提供一个思路,这个是可行的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
button{ background:none; border:0;}
</style>
</head>

<body>
<button><input type="checkbox" name="input" disabled="false"></button>
<button><input type="checkbox" name="input"></button>
<script>
var aInput = document.getElementsByTagName("button");
for(var i=0; i<aInput.length; i++){
    aInput[i].onclick = function(){
        if(this.firstChild.getAttribute("disabled")=="false"){
            alert("NO");
        }else{
			this.firstChild.checked = "checked";;
            alert("OK");
			
        }
    }
}
</script>
</body>
</html>
萧萧可乐 2014-04-11
  • 打赏
  • 举报
回复
楼主可以 自己封一个自定义事件 做mouseover + 鼠标点击监听 操作试试
yufengdxw 2014-04-11
  • 打赏
  • 举报
回复

<input type="checkbox" disabled="disabled">
<input type="checkbox">
<script>
var aInput= document.getElementsByTagName("input");
for(var i=0; i<aInput.length; i++){
 if(aInput[i].getAttribute("disabled")== true){
  alert("NO");
 }else{
 alert("OK");
 }
 
}
</script>
嘻哈大咖秀 2014-04-11
  • 打赏
  • 举报
回复
你都把按钮禁用了,是不会再次触发点击事件的。
happy59 2014-04-11
  • 打赏
  • 举报
回复
disabled状态的元素不响应点击动作
wzhiyuan 2014-04-11
  • 打赏
  • 举报
回复
在大部分浏览器disabled的form元素上的用户事件是被取消掉的,也不会把事件向上冒泡,所以根本无法得知用户是否点击了这些元素。
夜雨_Jason 2014-04-11
  • 打赏
  • 举报
回复
因为是想要禁止点击那种变灰的效果,所以要设置disabled 当然,如果要做,自然是可以用模拟的方法来做,只是工作量会加大。 5楼提供的方法,是外层来嵌套标签实现,但是事实上点击checkbox上还是没反应的,只能通过点击checkbox边缘空隙去触发事件。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧