jQuery toggle弃用了什么?

时间:2014-02-25 13:45:41

标签: jquery toggle iteration deprecated

目前正在为客户端更新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

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

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

1 个答案:

答案 0 :(得分: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