2012-04-03 14 views
0

Ich entwerfe eine mobile freundliche Version meiner Website und alles scheint gut zu funktionieren, aber ich kann nicht auf die Links innerhalb der div klicken, die nach dem Klick Funktion zeigt, div.jquery show hide funktioniert nicht in mobile

$(document).ready(function() { 

document.addEventListener("touchstart", function() {},false); 



$("#business").click(function(){ 
    $(this).addClass('on'); 
    $("#business_open").show(); 
    $("#menu_open").hide(); 
}); 

$("#menu").click(function(){ 
    $(this).addClass('on'); 
    $("#menu_open").show(); 
    $("#business_open").hide(); 
}); 

}); 

Hier HTML:

<div class="wrapper"></div> 

<div id="business"> 
    <span>Title</span> 
</div> 

    <div id="business_open"> 
    <ul> 
     <li><a href="link1.html">Link 1</a></li> 
     <li><a href="link2.html">Link 2</a></li> 
    </ul> 
    </div> 

<div id="menu"> 
    <em>m</em> 
</div> 

    <div id="menu_open"> 
    <ul> 
     <li><a class="selected" href="link1.html">Link 1</a></li> 
     <li><a href="link2.html">Link 2</a></li> 

    </ul> 
    </div> 
+0

Meine Links innerhalb von #business_open sind und #menu_open – Josh

+1

Zeigen Sie uns Ihre aktuellen HTML bitte. – jfriend00

+0

oben Aktualisiert .. – Josh

Antwort

0

Ihre Veranstaltungen zugewiesen werden könnte vor Ende der DOM fertig geladen ist. Sie können rund um bekommen, dass von ihnen in einer jQuery-Ready-Funktion Verpackung, die eine Abkürzung davon wie folgt aussehen:

$(function(){ 
    $("#business").click(function(){ 
     $(this).addClass('on'); 
     $(".wrapper, #business_open").show(); 
     $("#menu_open").hide(); 
    }); 

    $("#menu").click(function(){ 
     $(this).addClass('on'); 
     $(".wrapper, #menu_open").show(); 
     $("#business_open").hide(); 
    }); 

    $(".wrapper").click(function(){ 
     $(".wrapper, #business_open, #menu_open").hide(); 
     $('#business, #menu').removeClass('on'); 
    }); 
}); 
+0

$ (document) .ready (function() { \t document.addEventListener ("touchstart", function() {}, false); \t $ ("# business"). klicken (function() { \t \t $ (this) .addClass ('on');. \t \t $ ("# business_open") zeigen(); \t \t $ ("# menu_open") hide(). ; \t}); \t $ ("# menu"). Click (function() { \t \t $ (this) .addClass ('on'); \t \t $ ("# menu_open"). Show(); \t \t $ ("# business_open"). Hide(); \t}); }); So sieht meine js jetzt aus? In Bezug auf die .. Ich habe nur vergessen, die in dem obigen Code, ich habe sie in meinem. – Josh

+0

@Josh - versuchen Sie nie, mehrzeiligen Code in einen Kommentar zu setzen. Wenn Sie nach dem Absenden Ihrer Frage einen Code mitteilen möchten, fügen Sie ihn am Ende Ihrer Frage hinzu und verweisen Sie dann auf einen Kommentar. Mehrzeiliger Code ist nur lesbar, wenn er in einer Frage oder Antwort formatiert wurde, nicht in einem Kommentar. – jfriend00

+2

Wurde versucht, darauf hinzuweisen, ich habe bereits Dokument bereit Funktion in meiner JS-Datei. – Josh