代码之家  ›  专栏  ›  技术社区  ›  DavGarcia

jQuery函数用作事件处理程序和初始化

  •  1
  • DavGarcia  · 技术社区  · 14 年前

    <script type="text/javascript">
        $(function() {
            function doToggle() {
                $("#toggle-fields").toggle(!$('#checkToggle').is(':checked'));
            }
            doToggle();
    
            $('#checkToggle').click(doToggle);
        });
    </script>
    

    你如何处理这种重复的情况?你能给我指出什么最佳实践吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Anurag    14 年前

    $('#checkToggle').click(doToggle).click();
    
        2
  •  2
  •   Reigel Gallarde    14 年前

    这样地。。。

    $(function() {
        $('#checkToggle').bind('click.toggle',function(){
            $("#toggle-fields").toggle(!this.checked);
        }).trigger('click.toggle');
    });
    
        3
  •  2
  •   SLaks    14 年前

    你的代码将无法工作,因为 this window 在第一次通话中。

    doToggle.call(document.getElementByID('checkToggle'));