控制select为readonly状态

来源:互联网 发布:女装正装品牌 知乎 编辑:程序博客网 时间:2024/09/21 08:18

简单说两种方式,实质是一样的,一种简介明了,一种稍显复杂

实质都是用:

onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();"

这句代码来控制用户无法选择和更改该控件的值

 

一、先说简单的(平时都用简单的,但是有大量select控件需要做readonly处理时用复杂的更简单)

<select  onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();">

<option selected >aaa</option>

<option>bbb</option>

</select>   

二、贴一个复杂的,就是把变化放入js,来实现而已,多时候有用,另外只在脚本控制时候用

该方法转自CSDN博客,http://blog.csdn.net/lengyueqinghui/archive/2009/08/18/4457660.aspxfunction

// set all input/select/textarea readonly  

function allReadonly(){  

    // input readonly  

    var inputEle = document.getElementsByTagName("input");  

    for(var i=0; i<inputEle.length; i++){  

        inputEle[i].setAttribute("readonly","true",0);  

        inputEle[i].onclick = function setClickFalse(){return false;}  

        inputEle[i].onfocus = function setFocusFalse(){return false;}  

        inputEle[i].onblur = function setBlurFalse(){return false;}  

    }  

    // select readonly  

    var selectEle = document.getElementsByTagName("select");  

    for(var i=0; i<selectEle.length; i++){  

        setReadOnly(selectEle[i]);  

    }  

    // textarea readonly  

    var textareaEle = document.getElementsByTagName("textarea");  

    for(var i=0; i<textareaEle.length; i++){  

        textareaEle[i].setAttribute("readonly","true",0);  

    }  

}  

 

// select readonly  

function setReadOnly(obj){  

    obj.onmouseover = function(){  

        obj.setCapture();  

    }  

    obj.onmouseout = function(){  

        obj.releaseCapture();  

    }  

    obj.onfocus = function(){  

        obj.blur();  

    }  

    obj.onbeforeactivate = function(){  

        return false;  

    }   

}  

 

// select readonly rollback  

function rollBack(obj){  

    obj.onmouseover = function(){  

    }  

    obj.onmouseout = function(){  

    }  

    obj.onfocus = function(){  

    }  

    obj.onbeforeactivate = function(){  

    }   

}

原创粉丝点击