Ich versuche, den folgenden Code zu verwenden, um einen (Hashtag) an die URL anzuhängen, um Lightboxes zu schließen, die unter Verwendung des CSS-Attributs :target
erstellt wurden. Dieses Skript wird am Keydown des "esc" Schlüssels einwandfrei ausgeführt, gibt aber example.com/#undefined
anstelle von example.com/#
zurück.Warum & Wo wird dieses Skript undefiniert zurückgegeben?
Ich entschuldige mich dafür, ein JS Anfänger zu sein, aber wie definiere ich es, nur die einzige #
zurückgeben?
$(document).on('keydown', function (e) {
if (e.keyCode === 27) {
var href = this.href;
window.location.hash = href;
}
});
Returns #undefined
statt nur #
.
versuchen 'var href = e.target.href verwenden || '; ', im Handler bezieht sich" this "auf das Dokumentobjekt, das nicht die Eigenschaft' href' hat, so dass' this.href' undefined zurückgibt. –
Weil 'dies' zweifellos keine 'href'-Eigenschaft hat oder 'this' versäumt es zu zielen. Verwenden der Browserkonsole zum Debuggen 'console.log (this);' Wenn das undefined zurückkommt, dann ist 'this' das Problem, das ich vermute. – NewToJS
Kannst du das HTML-Beispiel dafür angeben, wo die 'href' von –