【问题标题】:jQtransform Checkbox Click Problem on IEjQtransform复选框点击IE上的问题
【发布时间】:2012-05-04 19:36:16
【问题描述】:

jQTransform 和 jQery 1.4.2 有一个很奇怪的问题。

当我在任何表单上使用 jQTransform 插件时,我的复选框将停止正常工作。

这是行为:

  • 第一次单击复选框,标记它
  • 从那时起,我需要单击它两次以取消标记/标记它

在创建这个问题之前我做了一些谷歌搜索,我找到了this jQuery Forum Question/Answer

该解决方案对我不起作用,因为转向较低版本的 jQuery 不是一种选择。

有谁知道如何使用 jQtransform 和 jQuery 1.4.2 解决这个问题???

我不知道版本之间发生了什么变化以使这种新的“行为”生效 jQuery 1.4.2

重要提示:这只发生在 IE 中。像往常一样,Firefox 运行良好。

【问题讨论】:

    标签: jquery internet-explorer checkbox


    【解决方案1】:

    我找到了这个问题的“解决方案”,虽然不是很干净,但它至少适用于 ie7/8 ... 只需复制/粘贴以下块“$input.change(function(){...” :

    var ieStep=1;    
    $input.change(function(){
        if($.browser.msie){
        if((ieStep%2) == 1){$input.trigger("click"); checkStep = 1;} else {ieStep++;}
        }
    

    和“aLink.click(function(){...” :

    aLink.click(function(){
    //do nothing if the original input is disabled
    if($input.attr('disabled')){return false;}
    
    //trigger the envents on the input object
        if($.browser.msie){
        if((ieStep%2) == 0){$input.trigger("click"); checkStep=0;}  
            $input.trigger("change");   
        }
        else {
                    $input.trigger("click").trigger("change");  
                }
        ieStep++;
    return false;
    });
    

    就是这样

    法比恩

    【讨论】:

      【解决方案2】:

      似乎到处都是错误。我在复选框的 clickhandler 中像这样解决它 - 如果你在更改触发器上方放置一个警报,你会看到它没有改变 - 所以只需检查我是否没有更改你手动执行它......快速而肮脏但有效

      //make my own checkpointvariable
                    firstONE=inputSelf.checked;    
      
      
        //only original row
      $input.trigger('click').trigger("change");
      //second line of checking
       secondOne = inputSelf.checked;
       if(firstONE==secondOne)
        inputSelf.click();
       //for some strange reason - when it doesnt change i change it  instead...
      

      这就是全部...

      【讨论】:

        【解决方案3】:

        我已经解决了,问题实际上是因为浏览器点击一次,图书馆点击一次

        所以我创建了一个新库 - csTransPie - 基于 jqtransform - jqtransform 是一个很棒的库,但它确实有很多问题,今天 css3 解决了许多这些问题,我喜欢控件作为普通控件的想法,并且在每个浏览器中看起来都一样 https://github.com/pkoretic/csTransPie

        这是一项正在进行的工作,但即使现在它也比 jqtransform 更好(重写了一半以上的 css,解决了许多错误,干净的 css……)

        现在您可以只使用一个类来为每个元素使用它!

        欢迎所有建议!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多