MyException - 我的异常网
当前位置:我的异常网» JavaScript » jquery show() 回调有关问题

jquery show() 回调有关问题(3)

www.myexceptions.net  网友分享于:2013-04-10  浏览:17次

            .attr('for', this.id)
            .data('target',$this)
            .click(function(){
              $(this).data('target').focus();
            })
            .insertBefore(this);
          $this
            .data('placeholder',ol)
            .keypress(function(){
              ol.hide();
            })
            .focus(function(){
              ol.css('color','#0f0');
            })
            .blur(function() {
              ol[$this.val().length ? 'hide' : 'show']();
              ol.css('color','#f00');
            }).triggerHandler('blur');
          $(window)
            .resize(function() {
              var $target = ol.data('target');
              ol.css(calcPositionCss($target));
            });
        }
      });
    }
  });
})(jQuery);


</script>

</html>


------解决方案--------------------
$("#btn").click(function(){
    $("#xxx").show(0,function(){jQuery.placeholder.shim();});
});
------解决方案--------------------
因为第一次点击的时候会先执行jQuery.placeholder.shim(),才会执行show。
show方法第二个参数是一个方法,但是你jQuery.placeholder.shim()返回的是$(config.selector)._placeholder_shim(config),所以第一次是会报错的。。虽然报错了,但是_placeholder_shim方法执行成功了,但是第一次的时候input还是不可见的,所以没有执行里面的CSS克隆过程,第二次点击的时候是可见的,所以代码运行正常了。



文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有