【问题标题】:jquery 1.4.2 working for iCheckBox and not jquery 1.6jquery 1.4.2 适用于 iCheckBox 而不是 jquery 1.6
【发布时间】:2011-05-17 14:41:57
【问题描述】:

我正在为 Apple 使用 this jquery 插件,例如复选框按钮。

但是,当我使用 jquery 1.4.2 版时,它可以完美运行,但是当我尝试使用 jquery 1.6 版时。那个插件不起作用。

我尝试使用 IE9 开发工具栏调试 javascript,但它没有抛出任何错误。

谢谢。

【问题讨论】:

    标签: version compatibility jquery-1.6


    【解决方案1】:

    编辑:现在也可以在 FF4 中使用,请参阅:jQuery 1.6: backgroundPosition vs backgroundPositionX and FF4 compatibility

    让它与 jQuery 1.6.x 和 1.5.x 一起使用 (在 Mac 上的 Safari 和 Chrome 中,不适用于 FF4/Mac)

    原始代码有两个问题,一个是它与 jQuery 1.5 和 1.6 不兼容,另一个是它与 jQuery 1.6 不兼容。

    第一个问题是使用

    backgroundPosition property 
    

    在动画调用中,需要将它们更改为

    backgroundPositionX property
    

    对于 jQuery 1.5 和 1.6

    第二个问题是检查复选框是否被选中。 在 jQuery 1.4 和 1.5 中,可以使用

    if ( $(this).attr('checked') == true )
    

    但是在 jQuery 1.6 中这个不行,需要改成

    if ( $(this).is(':checked') )
    

    这里找到的代码适用于 jQuery 1.6:http://jsfiddle.net/mikkelbreum/HAGMp/

    【讨论】:

    • 嘿...太好了...我在 Firefox 4 中尝试过它并没有滑动,认为复选框的值正在改变,但在 Safari 中它正在工作。
    • 是的,我也发现它在 FF4 中不起作用,目前正在调查中。不知道那里发生了什么,萤火虫正在给出关于“尝试在封闭范围内运行编译脚本”的奇怪消息我不明白..而且它无法加载资源..
    • 我更新了jsfiddle链接,存储图片的服务器不再响应,所以我换了另一个服务器。
    • 为了让它在 FF4 中工作,将动画线更改为:animate({backgroundPosition: '0px'}) 和 animate({backgroundPosition: settings.switch_swing+'px'} 参见:jsfiddle.net/mikkelbreum /uHkE5
    【解决方案2】:

    尝试更新到 jQuery 1.6.1。在 1.6 中,他们破坏了与 .attr() 的向后兼容性(这破坏了许多插件),但 1.6.1 更新了 addresses this

    【讨论】:

    • 您应该向开发人员提交报告。有一张票在报告 jQuery > 1.4.2 的问题。
    • 我也有同样的问题。插件代码相当短..如果开发人员没有时间修复它,对于另一个开发人员来说应该是一件容易的事。我去看看。
    • 让它在 FF4 中工作,但以一种奇怪的方式,请参阅我的答案中的编辑说明
    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2011-03-06
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多