【问题标题】:jQuery toggle deprecated what to use?jQuery 切换已弃用,该使用什么?
【发布时间】:2014-02-25 13:45:40
【问题描述】:

目前正在为客户端更新 jQuery,并且似乎不推荐使用切换。我应该尝试使用迭代吗?

考虑:

jQuery(document).ready(function(){
            var autoHide = function(){jQuery('#empty').trigger('click');}

            jQuery('#empty').toggle(function()
                    {
                        jQuery('html').bind('click',autoHide);
                        jQuery('#drop').animate({'height':'210px'},'slow');
                        jQuery(this).removeClass();
                        jQuery(this).addClass('downed');
                        jQuery('#drop').css('border-top','3px solid #fff')},
                    function()
                    {
                        var dropthis = jQuery(this);
                        jQuery('html').unbind('click',autoHide);
                        jQuery('#drop').animate({'height':'19px'},'slow',function(){
                            dropthis.removeClass();
                            dropthis.addClass('upped');
                        });
                        jQuery('#drop').css('border-top','none')
                    });

            jQuery("#drop div:not('#empty')").click(function(){
                jQuery('#drop').css('opacity','0.3');
            });
        });

这里有一个如何使用迭代的例子:https://forum.jquery.com/topic/beginner-function-toggle-deprecated-what-to-use-instead

这是一个不错的选择吗?如果是这样,你能告诉我如何将它应用到我的代码中吗? 如果没有,您能否提供一个更好的选择并证明您的推理是正确的?

欢迎对我的代码进行任何示例/小提琴/修改! 干杯, 迈尔斯

【问题讨论】:

    标签: jquery toggle iteration deprecated


    【解决方案1】:

    您可以使用jQuery Migrate Plugin

    来自文档:

    我们创建了 jQuery Migrate 插件来简化从旧版本 jQuery 的转换。该插件恢复了已弃用的功能和行为,以便旧代码仍能在 jQuery 1.9 及更高版本上正常运行。使用未压缩的开发版本来诊断兼容性问题,它将在控制台上生成警告,您可以使用这些警告来识别和修复问题。使用压缩的生产版本来简单地修复兼容性问题而不会生成控制台警告。

    你可以添加这个库:

    <script src="your jquery library"></script>
    <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    

    Fiddle with jQuery 1.11
    Fiddle with jQuery 1.9.1

    【讨论】:

    • 我正在使用迁移,这是控制台记录的内容: JQMIGRATE: jQuery.fn.toggle(handler, handler...) is deprecated jquery-migrate-1.2.1.js:41 console .trace() jquery-migrate-1.2.1.js:43 migrateWarn jquery-migrate-1.2.1.js:43 jQuery.fn.toggle jquery-migrate-1.2.1.js:443 f.fn.extend.toggle jquery-ui-1.8.14.custom.min.js:240 (匿名函数) (index):239 c jquery-1.9.1.min.js:3 p.fireWith jquery-1.9.1.min.js:3 b.extend.ready jquery-1.9.1.min.js:3 H
    • 你添加这个库的顺序是什么?这应该在 jQuery 之后加载。
    • jQuery 1.9.1,迁移 1.2.1,touchpunch 然后 ui
    • 来自 touchpunch 网站:在 jQuery UI 之后和首次使用之前包括 Touch Punch。
    • 所以你的顺序应该是:jQuery 1.9.1,migrate 1.2.1,ui,然后 touchpunch。
    猜你喜欢
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 2020-07-16
    • 2014-01-09
    • 2013-08-21
    • 1970-01-01
    • 2015-02-17
    相关资源
    最近更新 更多