2015-02-24 41 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