WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   jquery fråga (https://www.wn.se/forum/showthread.php?t=1061884)

Fia 2014-05-26 14:04

jquery fråga
 
Vet någon varför denna inte fungerar

$(document).bind('contextmenu', function (e) {
e.preventDefault();
//alert(event.toElement.id); //denna visar "op"
if(event.toElement.id=='op') { //men denna går inte igenom???????????
$('#context').css('left', e.pageX);
$('#context').css('top', e.pageY);
$('#context').fadeIn(500, startFocusOut());
}
});

vet inte riktigt hur jag ska fortsätta felsöka.

ANttila 2014-05-26 14:44

Citat:

Ursprungligen postat av Fia (Inlägg 20492615)
Vet någon varför denna inte fungerar

$(document).bind('contextmenu', function (e) {
e.preventDefault();
//alert(event.toElement.id); //denna visar "op"
if(event.toElement.id=='op') { //men denna går inte igenom???????????
$('#context').css('left', e.pageX);
$('#context').css('top', e.pageY);
$('#context').fadeIn(500, startFocusOut());
}
});

vet inte riktigt hur jag ska fortsätta felsöka.

Kod:

$(document).bind('contextmenu', function (e) {
 e.preventDefault();
 console.log(event.toElement.id);
 if(event.toElement.id == 'op') {    //men denna går inte igenom???????????         
    $('#context').css('left', e.pageX); 
    $('#context').css('top', e.pageY); 
    $('#context').fadeIn(500, startFocusOut());
}
});

Öppna konsollen och se efter vad du får ut.
Konsollen är din bästa vän när du jobbar med Javascript :)

christian. 2014-05-26 14:48

Testa ändra till if(event.toElement.id === 'op').

allstars 2014-05-26 15:44

vad kommer "event" ifrån? Variabel definierad någon annanstans?
Ska det inte vara
Citat:

if(e.toElement.id=='op')
då 'e' är det som är eventet.

ANttila 2014-05-26 16:18

Citat:

Ursprungligen postat av allstars (Inlägg 20492620)
vad kommer "event" ifrån? Variabel definierad någon annanstans?
Ska det inte vara då 'e' är det som är eventet.

Det har du rätt i :D

Fia 2014-05-27 08:59

Har provar använda e i stället och === men if satsen går fortfarande inte igenom. alert visa "op" men e.toElement.id=='op' går inte?
op är en id på en ul li. Egentligen borde väll det vara en class eftersom det finns flera lika dana. Men om jag gör e.toElement.class får jag undefined när jag klickar på den.

Fia 2014-05-27 09:29

ok hitta felet, ett idiotfel. ”op” snefnuttar runt idnamnet. Ibland undrar man vem som släppte ut en......

ANttila 2014-05-27 09:33

Citat:

Ursprungligen postat av Fia (Inlägg 20492643)
Har provar använda e i stället och === men if satsen går fortfarande inte igenom. alert visa "op" men e.toElement.id=='op' går inte?
op är en id på en ul li. Egentligen borde väll det vara en class eftersom det finns flera lika dana. Men om jag gör e.toElement.class får jag undefined när jag klickar på den.

Felsök

Fia 2014-05-27 11:50

använder Chromes consol men där kom inte upp något. Och allt fungerar bra i chrome nu men i Explorer.....
Det går inte att hämta egenskapen id för en referens som är odefinierad eller null. Älskar explorer

allstars 2014-05-27 12:15

bugg i IE9 tydligen:
https://connect.microsoft.com/IE/fee...tivate-handler

Fia 2014-05-27 13:32

Jippi här har jag suttit hela dagen och surfat forums, vad gör jag nu? någon som har ett förslag hur jag kan kolla var jag har tryckt på? jag vill ju bara ha upp högermenyn när man klickar på en knapp i min ul li a lista.

allstars 2014-05-27 13:49

leta lämpliga plugins:
t ex http://medialize.github.io/jQuery-contextMenu/demo.html
Kolla om den fungerar i IE9

ANttila 2014-05-27 13:52

Citat:

Ursprungligen postat av Fia (Inlägg 20492660)
jag vill ju bara ha upp högermenyn när man klickar på en knapp i min ul li a lista.

Du kan inte trigga det eventet, du får göra en egen meny.

Allt du behöver veta finns här

Fia 2014-05-27 14:03

la det i en function

function hogerklick() {
$(document).bind('contextmenu', function (e) {
e.preventDefault();
$('#context').css('left', e.pageX);
$('#context').css('top', e.pageY);
$('#context').fadeIn(500, startFocusOut());
});
}
och kalla på det "the old fashion way" oncontextmenu="javascript:hogerklick()"

det finns många bra plugins men det känns som om jag har bättre kontroll på det om jag kan göra det själv och slipper massa onödig kod jag inte behöver


Alla tider är GMT +2. Klockan är nu 15:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson