2015-02-24 94 views
0

我希望在文档加载功能上触发我的菜单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" 
     });   
    }); 
}); 

回答

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"),我猜是一个错字?

+0

不错的一个。 +1 .....;) – Jai 2015-02-24 08:53:48

+0

感谢您的回复,但它不适合我..为什么在变量$(“#menuone”)之前添加#click(function(){})? – 2015-02-24 08:56:16

+0

@Sami'$(“#menuone”)'不是'$(“#menu1”)'检查这一点,正如答案中所建议的那样。 – Jai 2015-02-24 08:57:23