如何在文档就绪函数中调用变量的click函数?

时间:2015-02-24 08:45:38

标签: javascript jquery

我希望在文档加载功能的menu1上触发我的click事件。由于我在该菜单上有许多功能,我将其分配给变量。并在该变量上调用click事件。但它不起作用。

$(document).ready(function () {
    var $menuone = $('#menu1');
    var $menutwo = $('#menu2');
    var $menuthree = $('#menu3');
    var $menufour = $('#menu4');
    $menuone.trigger("click");

    $("#menuone").click(function () {
        $("#frm1").show();
        $("#frm3").hide();
        $("#frm4").hide();
        $("#frm2").hide();
        $(this).css({
            border: "2px solid #A69A8F",
            "border-bottom-width": "0",
            background: "#F7F7F7",
            color: "#0D638B;"
        });
        $(this).children().css({
            color: "#0D638B",
            "font-weight": "bold"
        });
    });

    $menutwo.click(function () {
        $menuone.removeAttr('style');
        $menuone.children().removeAttr('style');
        $("#frm1").hide();
        $("#frm3").hide();
        $("#frm4").hide();
        $("#frm2").show();
        $(this).css({
            border: "2px solid #A69A8F",
            "border-bottom-width": "0",
            background: "#F7F7F7",
            color: "#0D638B;"
        });
        $(this).children().css({
            color: "#0D638B",
            "font-weight": "bold"
        });        
    });
});

1 个答案:

答案 0 :(得分:4)

浏览器逐行运行JavaScript。因此,您触发点击时不会附加$(“#menuone”)。click的绑定。

<强>解决方案:

$( document ).ready(function() {
    var $menuone = $('#menu1');
    var $menutwo = $('#menu2');
    var $menuthree = $('#menu3');
    var $menufour = $('#menu4');

    $("#menuone").click(function () {
      $("#frm1").show();
      $("#frm3").hide();
      $("#frm4").hide();
      $("#frm2").hide();
      $(this).css({border:"2px solid #A69A8F","border-bottom-width":"0", background: "#F7F7F7",color:"#0D638B;"});
      $( this ).children().css({color: "#0D638B","font-weight":"bold"} );
    });

    $menutwo.click(function () {
      $menuone.removeAttr( 'style' );$menuone.children().removeAttr( 'style' );
      $("#frm1").hide();
      $("#frm3").hide();
      $("#frm4").hide();
      $("#frm2").show();
      $(this).css({border:"2px solid #A69A8F","border-bottom-width":"0", background: "#F7F7F7",color:"#0D638B;"});
      $( this ).children().css({color: "#0D638B","font-weight":"bold"} );

    });

    // Put it here
    $menuone.trigger("click");
});

顺便说一句,$menuone不是$("#menuone")而是$("#menu1"),我猜测这是一个错字?