2016-03-24 7 views
0

Brauchen Sie nur eine schnelle Hilfe (danke im Voraus). Ich habe ein einfaches clkick Ereignis (siehe unten)So verhindern Sie, dass das Klickereignis beim Aktualisieren der Seite geladen wird

document.documentElement.className = 'js'; 
//add the jQuery click/show/hide behaviours: 
$(document).ready(function() { 
    $(".reply").click(function() { 
    if ($("#list1").is(":visible")) { 
     $("#list1").hide(); 
    } else { 
     $("#list1").show(); 
    } 
    //don't follow the link (optional, seen as the link is just an anchor) 
    return false; 
    }); 
}); 

Mein HTML ist:

<div class="form-row" id="living"> 
    <span><a class="reply2" href="#list2">Dining Room</a></span> 
    <label id="list2"> 
    <span>Dining Table - 6 persons</span> 
    <input type="checkbox" name="checkbox" checked> 
    <br /> 
    <span>Dining Table - 8/10 persons</span> 
    <input type="checkbox" name="checkbox" checked> 
    <br /> 
    <span>Dining Chairs</span> 
    <input type="checkbox" name="checkbox" checked> 
    <br /> 
    <span>Cabinet Dresser</span> 
    <input type="checkbox" name="checkbox" checked> 
    <br /> 
    <span>Display Unit</span> 
    <input type="checkbox" name="checkbox" checked> 
    <br /> 
    <span>Rug</span> 
    <input type="checkbox" name="checkbox" checked> 
    </label> 
</div> 

Meine Frage ist: Wie kann ich meine Jquery verhindern zu laden, wenn ich die Seite aktualisieren, da es zeigt das Checklisten-Tag, wenn die Seite geladen ist. Danke für Ihre Unterstützung.

Antwort

0

Hier Lösung (verwenden prevent()):

document.documentElement.className = 'js'; 
//add the jQuery click/show/hide behaviours: 
$(document).ready(function() { 
    $(".reply").click(function(e) { 
    e.preventDefault(); 
    if ($("#list1").is(":visible")) { 
     $("#list1").hide(); 
    } else { 
     $("#list1").show(); 
    } 
    return false; 
    }); 
}); 

jetzt Ihre Links werden Sie nicht zu Hashtags lenken . Änderungen: Fügen Sie einfach "e" zu .click (Funktion (und)) und verwenden Sie dann die Methode "e" - e. preventDefault();

+0

Danke Demid für deine Unterstützung, aber leider hat es nicht funktioniert. Der e.preventDefault(); funktionierte nicht in meinem Code. Gibt es noch etwas, was ich tun könnte, um zu verhindern, dass jquery beim Aktualisieren der Seite geladen wird? – prezequias

0

Sie müssen nicht verhindern, dass Jquery geladen wird ... alles was Sie wollen, wenn ich Sie richtig verstehe, ist die Checkliste zu laden (initial). Sie können mit etwas CSS tun:

#list1 { 
    display : none; 
} 

$(document).ready(function() { 
 
    $(".reply").click(function() { 
 
    if ($("#list1").is(":visible")) { 
 
     $("#list1").hide(); 
 
    } else { 
 
     $("#list1").show(); 
 
    } 
 
    //don't follow the link (optional, seen as the link is just an anchor) 
 
    return false; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<style> 
 
#list1 { 
 
    display : none; 
 
} 
 
</style> 
 
    <div class="form-row" id="living"> 
 
     <span><a class="reply" href="#list2">Dining Room</a></span> 
 
     <label id="list1"> 
 
     <span>Dining Table - 6 persons</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     <br /> 
 
     <span>Dining Table - 8/10 persons</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     <br /> 
 
     <span>Dining Chairs</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     <br /> 
 
     <span>Cabinet Dresser</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     <br /> 
 
     <span>Display Unit</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     <br /> 
 
     <span>Rug</span> 
 
     <input type="checkbox" name="checkbox" checked> 
 
     </label> 
 
    </div>

+0

Hi Meiko, einfache Antwort direkt auf den Punkt. Arbeitete für mich, danke nochmal. – prezequias

Verwandte Themen