webForumDet fria alternativet

contextmenu="return false" vid onBlur på input fält

3 svar · 207 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Jag ha satt oncontextmenu="return false;" i body taggen.

Sedan har jag på ett input fält satt:

oncontextmenu="document.body.oncontextmenu='return true';" onBlur="document.body.oncontextmenu='return false;'"

Om jag på sidan klickar på med context knappen så händer ingenting. När jag klickar i input fältet så kommer contextmenyn upp men när jag går ifrån fältet så kan jag klicka var som helst och få upp contextmenyn.

Hur löser jag det?

PepeJeriaMedlem sedan feb. 2003774 inlägg
#2

Om jag förstått dig rätt vill du att menyn bara ska fungera i text fält så att man kan pasta in text?

Det här fungerar i IE 5+ och Mozilla:

document.oncontextmenu = function(e)
{
if(!e) var e = window.event;
var oElm = e.target || e.srcElement;

// Här lägger du till under vilka element menyn ska fungera under:
if(oElm.nodeName != "TEXTAREA")
	return false;

}

Med denna function kollar du eventets (vart du högerklickar) source element och returnerar false om elementet är en textarea.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Jag fick det att fungera på TEXTAREA men hur får jag det att fungera på vanliga text inputfält?

<input type="text">

PepeJeriaMedlem sedan feb. 2003774 inlägg
#4

Du kan alerta oElm.nodeName för att se vad ett textfält returnerar ("INPUT").

Sen:

if(oElm.nodeName != "INPUT" && oElm.nodeName != "TEXTAREA")
return false;
}

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)