Parantatatam
mag Cookies & Kekse
Hallo Tutorianer,
ich bin gerade dabei, mein aktuelles Javascript-Skript mit den Möglichkeiten von jQuery auszubessern, und bin dabei auf folgendes Problem gestoßen: ich möchte ermitteln, ob ein Element oder eines seiner Elternelemente das Attribut contextmenu hat. Je nachdem soll er mir das Element zurück liefern, das am nächsten am aktuellen liegt. Das aktuelle Element ist dabei jenes, auf das ein Klick-Ereignis ausgeführt wurde. Das geht auch, aber jQuery verwirrt mich etwas:
Wo könnte der (Denk)-Fehler liegen?
ich bin gerade dabei, mein aktuelles Javascript-Skript mit den Möglichkeiten von jQuery auszubessern, und bin dabei auf folgendes Problem gestoßen: ich möchte ermitteln, ob ein Element oder eines seiner Elternelemente das Attribut contextmenu hat. Je nachdem soll er mir das Element zurück liefern, das am nächsten am aktuellen liegt. Das aktuelle Element ist dabei jenes, auf das ein Klick-Ereignis ausgeführt wurde. Das geht auch, aber jQuery verwirrt mich etwas:
HTML:
<body contextmenu="menu-desktop">
<div style="width:500px;height:500px" contextmenu="menu-desktop2">
<div style="width:250px;height:250px" contextmeneu="menu-desktop3"></div>
</div>
</body>
Code:
$(document).ready(function () {
$(document).contextmenu(function (event) {
// innere DIV-Box
var element = $(event.srcElement);
// liefert mir nur das BODY-Element sowie die äußere DIV-Box
console.log(element.parents('[contextmenu]').andSelf().has('[contextmenu]'));
// liefert mir alle drei Elemente
console.log(element.parents('[contextmenu]').andSelf());
// liefert mir den Wahrheitswert true
console.log(element.is('[contextmenu]'));
});
});