2015-11-13 46 views
0

我是javascript/jQuery中的新手。爲什麼整個div可點擊?

我有一個div文件,包含一個按鈕,應該隱藏在文檔加載,並將通過單擊鏈接顯示。

問題是,顯示div後,整個div是可點擊的。確切地說,它是到同一頁面的鏈接。我爲div的顯示屬性使用了不同的值,例如塊,內聯,內聯塊,但問題仍然存在。

另一個問題(似乎與第一個問題有關)是按鈕單擊不起作用。

這是我的文件的正文部分:

<body> 
    <section> 
     <header><h1>Welcome!</h1></header> 
     <nav> 
      <ul> 
       <li id="viewER"><a href="#">View an ER Diagram</li>   
      </ul> 
     </nav> 
    </section> 
    <div id="diaSelect"> 
     <p>Choose a diagram:</p> 
     <p> 
     <select id="sel"> 
     </select> 
     </p> 
     <p> 
     <button id="show" type="button"></button> 
     </p> 
    </div> 

    <script> 
     $(document).ready(function(){ 

      $("#viewER a").click(function() { 
        if ($("#diaSelect").is(':hidden')) 
         $("#diaSelect").css('display', 'inline-block'); 
        $("#diaSelect").find('option').remove(); 
        listModelFiles(); 
        $("#show").text("View"); 
      }); 

      $("#diaSelect").css('display', 'none'); 

      $("show").on("click", function(){ 
       ... 
      }); 

     });      
    </script> 
</body> 

listModelFiles()增加了一些選項的選擇。

回答

5

您已將錨標籤打開,這可能會導致我們無法預測的各種問題(例如,錨之後的內容可能會在錨內呈現)。

解決方法是正確關閉標籤。

<li id="viewER"><a href="#">View an ER Diagram</a></li> 
+1

織補,打我給它。 – jerseyetr

+1

是的,就是這樣。 –

+1

@jerseyetr得快! –

1

按鈕點擊不工作,因爲你已經忘了把#它的名字前scrpit:

$("show").on("click", function() { 
    ... 
}); 

應該是:

$("#show").on("click", function() { 
    ... 
});