时间:2010-07-23 20:28:24

标签: jquery internet-explorer checkbox

3 个答案:

答案 0 :(得分:2)

我找到了解决这个问题的“解决方案”,不是很干净,但至少可以使用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;
});

这就是全部

法比安

答案 1 :(得分:1)

好像整个地方都有虫子。我在这个复选框的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...

这就是全部......

答案 2 :(得分:0)

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

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

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

现在你只需要一个类就可以在每个元素上使用它!

欢迎所有建议!