Javascript 如何调用document ready函数中变量的click函数?

Javascript 如何调用document ready函数中变量的click函数?,javascript,jquery,Javascript,Jquery,我想在文档加载功能的菜单1上触发我的单击事件。因为我在那个菜单上有很多函数,所以我把它分配给了一个变量。并调用该变量上的click事件。但它不起作用 $(document).ready(function () { var $menuone = $('#menu1'); var $menutwo = $('#menu2'); var $menuthree = $('#menu3'); var $menufour = $('#menu4'); $menuone

我想在文档加载功能的菜单1上触发我的单击事件。因为我在那个菜单上有很多函数,所以我把它分配给了一个变量。并调用该变量上的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"
        });        
    });
});

浏览器逐行运行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”)
,我猜这是一个打字错误?

浏览器逐行运行你的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”)
,我猜这是个打字错误?

谢谢你的回复,但这对我不起作用。。为什么要在变量$(“#menuone”)之前添加#。单击(函数(){})@Sami
$(“#menuone”)
不是
$(“#menu1”)
检查此问题,如答案中所建议的那样。@Sami不要忘记接受这个答案,如果它有帮助的话。谢谢你的回复,但它对我不起作用。。为什么要在变量$(“#menuone”)之前添加#。单击(函数(){})?@Sami
$(“#menuone”)
不是
$(“#menu1”)
检查这一点,如答案中所建议的那样。@Sami不要忘记接受这个答案,如果它有帮助的话。