Ich möchte diese Webseite bestimmte Elemente markieren, wenn Sie auf eine von ihnen klicken, aber wenn Sie irgendwo anders auf der Seite klicken, dann sollten alle diese Elemente nicht mehr sein markiert.JQuery klicken Sie irgendwo außer bestimmten divs und Probleme mit dynamisch hinzugefügtem HTML
erreichte ich diese Aufgabe durch die folgende, und es funktioniert gut mit einer Ausnahme (wie unten beschrieben):
$(document).click(function() {
// Do stuff when clicking anywhere but on elements of class suggestion_box
$(".suggestion_box").css('background-color', '#FFFFFF');
});
$(".suggestion_box").click(function() {
// means you clicked on an object belonging to class suggestion_box
return false;
});
// the code for handling onclicks for each element
function clickSuggestion() {
// remove all highlighting
$(".suggestion_box").css('background-color', '#FFFFFF');
// then highlight only a specific item
$("div[name=" + arguments[0] + "]").css('background-color', '#CCFFCC');
}
diese Weise die Markierung von Elementen der Durchsetzung funktioniert gut, bis ich mehr html zu addieren, Seite ohne eine neue Seite laden. Dies geschieht durch .append() und .prepend()
Was ich vom Debuggen vermutete, war, dass die Seite die neuen Elemente, die der Seite dynamisch hinzugefügt wurden, nicht "kannte". Trotz der neuen, dynamisch hinzugefügten Elemente mit den entsprechenden Klassennamen/IDs/Namen/onclicks ect werden sie nie wie die übrigen Elemente hervorgehoben (die weiterhin die ganze Zeit funktionieren).
Ich frage mich, ob ein möglicher Grund dafür, warum mein Ansatz für den dynamisch hinzugefügten Inhalt nicht funktioniert, ist, dass die Seite die Elemente nicht erkennen kann, die während des Ladens nicht vorhanden waren. Und wenn das eine Möglichkeit ist, gibt es eine Möglichkeit, dies ohne eine Seitenlast zu vereinbaren?
Wenn diese Argumentation falsch ist, dann ist der Code, den ich oben habe, wahrscheinlich nicht genug, um zu zeigen, was mit meiner Webseite nicht stimmt. Aber ich bin wirklich nur daran interessiert, ob diese Denkrichtung eine Möglichkeit ist oder nicht.