$("#btn").toggle(function(){
                $("input").setReadOnly(true);
            },function(){
                $("input").setReadOnly(false);
            });<input type="text" id="wenben">
    <input type="button" value="按钮" id="btn">
大家好   我这样调用toggle()为什么页面直接就没有button按钮就光一个文本框,别的什么都没有???   我用的是firefox 23.0.1,这是怎么一个情况,是我的方法弄错了吗???

解决方案 »

  1.   

    $("#btn").toggle(function(){
                    $("input").attr("readOnly",true);
                },function(){
                    $("input").attr("readOnly",false);
                });
      

  2.   

    ++  我不是这个意思   我写了一个setReadOnly()方法,方法没问题就是这个toggle()有问题!!!
      

  3.   

    应该是你的自己写的那个方法问题。看下alert 是否出来1,2$("#btn").toggle(function(){
    alert("1");
                    
                },function(){
    alert("2");
                   
                });
    });
      

  4.   

    新版本的jquery的toggle方法变化了,你那么写,按钮消失了是吧
    今天我也被坑了,回到主题$("#btn").click(
    function () {
    $('input').toggle();
    }
    );好像现在这个方法只是显示隐藏用了
      

  5.   


    $("#gj").click(
    function () {
    $('#test').toggle(
    function(){
    if(i%2==0){
    $('#test').attr('readonly','false');
     }else{
     $('#test').attr('readonly','true');
     }
    i++;
    }
    );
    }
    );我自己测试的方法,不过很无语,你还是自己用juqery在写个方法调用吧
      

  6.   

    对了,在方法外面,也就是jquery初始化里加一个  var i = 0
      

  7.   

    ++   嗯嗯   谢谢   我还是用click吧
      

  8.   

    ++   嗯 谢谢  
    我最终选择了click不用这个toggle了
    $("#btn").click(function(){
                    if($("input[type='text']").prop("readOnly")){
                        $("input").setReadOnly(false);
                    }else{
                        $("input").setReadOnly(true);
                    }
                });
      

  9.   

    ++   嗯 谢谢  
    我最终选择了click不用这个toggle了
    $("#btn").click(function(){
                    if($("input[type='text']").prop("readOnly")){
                        $("input").setReadOnly(false);
                    }else{
                        $("input").setReadOnly(true);
                    }
                });
    因为今天我在写了一个试试看,发现按钮不见了,就改改,然后发现是那个方法变化了
      

  10.   

    ++   嗯 谢谢  
    我最终选择了click不用这个toggle了
    $("#btn").click(function(){
                    if($("input[type='text']").prop("readOnly")){
                        $("input").setReadOnly(false);
                    }else{
                        $("input").setReadOnly(true);
                    }
                });
    因为今天我在写了一个试试看,发现按钮不见了,就改改,然后发现是那个方法变化了哈哈   都被坑到了   应该早点去看看源代码,结果一目了然,
    toggle: function( state ) {
    if ( typeof state === "boolean" ) {
    return state ? this.show() : this.hide();
    } return this.each(function() {
    if ( isHidden( this ) ) {
    jQuery( this ).show();
    } else {
    jQuery( this ).hide();
    }
    });
    }