Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在加入“后”;只读“;文本框上的属性无法在一个事件中删除它_Jquery_Html_Internet Explorer - Fatal编程技术网

Jquery 在加入“后”;只读“;文本框上的属性无法在一个事件中删除它

Jquery 在加入“后”;只读“;文本框上的属性无法在一个事件中删除它,jquery,html,internet-explorer,Jquery,Html,Internet Explorer,重编的步骤 使用Internet Explorer 选中无限制复选框 单击文本框(将从复选框中删除勾选/复选框) 尝试在文本框中输入文本 我们无法在文本框中输入 4.再次单击文本框。现在,我们将能够在文本框中输入文本 我们试过了 1.将属性只读设置为flase,即$('#myinput').attr('readOnly',false); 2.调用$('#myinput')。单击() 下面是HTML代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML

重编的步骤
使用Internet Explorer

  • 选中无限制复选框
  • 单击文本框(将从复选框中删除勾选/复选框)
  • 尝试在文本框中输入文本
  • 我们无法在文本框中输入
    4.再次单击文本框。现在,我们将能够在文本框中输入文本

    我们试过了
    1.将属性只读设置为flase,即$('#myinput').attr('readOnly',false);
    2.调用$('#myinput')。单击()

    下面是HTML代码

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Make input read only</title>
        <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
    </head>
    <body>
        <input id="myinput" type="text" />
        <input id="mycheck" type="checkbox" />
        <script type="text/javascript">
            /*oncheck box click*/
            $('#mycheck').click(function () {
                if ($(this).attr('checked')) {
                    $('#myinput').attr('readOnly', 'readOnly');
                }
                else {
                    $('#myinput').removeAttr('readOnly');
                    /* also tried  
                     * $('#myinput').attr('readOnly', false);
                     * $('#myinput').attr('readOnly', '');
                     */
                }
            });
            /*on text box click*/
            $('#myinput').click(function () {
                $('#mycheck').removeAttr('checked');
                $('#myinput').removeAttr('readOnly');
                /* also tried  
                 * $('#myinput').attr('readOnly', false);
                 * $('#myinput').attr('readOnly', '');
                 */
            });
        </script>
    </body>
    </html>
    
    
    使输入为只读
    /*单击复选框*/
    $('#mycheck')。单击(函数(){
    if($(this.attr('checked')){
    $('#myinput').attr('readOnly','readOnly');
    }
    否则{
    $('#myinput').removeAttr('readOnly');
    /*也试过
    *$('#myinput').attr('readOnly',false);
    *$('#myinput').attr('readOnly','');
    */
    }
    });
    /*在文本框上单击*/
    $('#myinput')。单击(函数(){
    $(“#mycheck”).removeAttr('checked');
    $('#myinput').removeAttr('readOnly');
    /*也试过
    *$('#myinput').attr('readOnly',false);
    *$('#myinput').attr('readOnly','');
    */
    });
    

    您需要将readonly属性设置为nothing

    $('#myinput').attr('readOnly', '');
    

    您需要将readonly属性设置为nothing,如下所示

    $('#myinput').attr('readOnly', '');
    

    我也有同样的问题,并在stackoverflow上报告了它,一秒钟后我发现了它

    编辑:


    如果你读了我的帖子,它也解释了正在发生的事情。事实上,文本框实际上已经解锁(与Tyde尝试的不同)。这个问题与焦点/选择有关。

    我也有同样的问题,并在stackoverflow上报告了它,一秒钟后我发现了它

    function preventBackspace(e) {
    
        var evt = e || window.event;
    
        if (evt) {
            if (evt.srcElement.getAttribute('readonly')) {
                var keyCode = evt.charCode || evt.keyCode;
                if (keyCode === 8) {
                    if (evt.preventDefault) {
                        evt.preventDefault();
                    } else {
                        evt.returnValue = false;
                    }
                }
            }
        }
    }
    
    编辑:

    如果你读了我的帖子,它也解释了正在发生的事情。事实上,文本框实际上已经解锁(与Tyde尝试的不同)。问题与焦点/选择有关

    function preventBackspace(e) {
    
        var evt = e || window.event;
    
        if (evt) {
            if (evt.srcElement.getAttribute('readonly')) {
                var keyCode = evt.charCode || evt.keyCode;
                if (keyCode === 8) {
                    if (evt.preventDefault) {
                        evt.preventDefault();
                    } else {
                        evt.returnValue = false;
                    }
                }
            }
        }
    }
    
    我得到了一个文本框将在只读和可编辑之间切换的场景,因此我添加了条件
    if(evt.srceelement.getAttribute('readonly'))
    ,这很有帮助


    我得到了一个文本框将在只读和可编辑之间切换的场景,因此我添加了条件
    if(evt.srcelelement.getAttribute('readonly'))
    ,这很有帮助。

    将此用于IE,它也适用于chrome和mozilla

    $('#myinput').removeAttr("readonly");
    $('#myinput').select();
    

    在IE中使用它,它也适用于chrome和mozilla

    $('#myinput').removeAttr("readonly");
    $('#myinput').select();
    

    什么版本的IE?6、7、8和9都有不同的怪癖。请说出所有人的怪癖。因为它应该适用于所有浏览器:)什么版本的IE?6、7、8和9都有不同的怪癖。请说出所有人的怪癖。因为它应该适用于所有浏览器:)请仅签入internet explorer。它只能在IE浏览器中的Chrome和FirefoxCheck中正常工作。在Chrome和Firefox中工作良好,谢谢。我们尝试了所有变体,如.focus()、.dbclick()、.mouseup()、.mouse down等。在搜索时,我们尝试了readonly、JQuery和Internet Explorer等关键字,但找不到解决方案。再次感谢:)谢谢。我们尝试了所有变体,如.focus()、.dbclick()、.mouseup()、.mouse down等。在搜索时,我们尝试了readonly、JQuery和Internet Explorer等关键字,但找不到解决方案。再次感谢:)