日期:2014-05-16  浏览次数:20581 次

checkbox disabled="false" 后执行不了点击事件?
代码如下,我想要不能选中的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>

------解决方案--------------------
disabled状态的元素不响应点击动作
------解决方案--------------------
你都把按钮禁用了,是不会再次触发点击事件的。
------解决方案--------------------

<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>

------解决方案--------------------
楼主可以 自己封一个自定义事件  做mouseover + 鼠标点击监听  操作试试
------解决方案--------------------
只是提供一个思路,这个是可行的。
<!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>

------解决方案--------------------
给禁用的checkbox加个标志,用脚本禁止选中吧,不设置disabled
然后判断那个标志弹出ok,no即可
代码相信楼主自己就可以写好
------解决方案--------------------
在大部分浏览器disabled的form元素上的用户事件是被取消掉的,也不会把事件向上冒泡,所以根本无法得知用户是否点击了这些元素。