» »

Event na linku, zelo tricky!

Event na linku, zelo tricky!

Phoebus ::

OK, zadeva je taka- na linku bi rad imel poleg samega linka še event.

Recimo, tako- če kliknem normalno 1x, se odpre povezava (kot je v navadi), če pa nad linkom izvedem nekaj drugega (primem in povlečem / 2x kliknem / pritisnem modifier in kliknem,..., izberite vi) pa se odpre javascript popup.

Enostavno napisano, želim to:

< a href="http://www.google.com" onDblClick="alert ('Kliknil si link');" >

Ampak to seveda ne deluje, ker je dvoklik 2x klik in se link odpre. :) Rad bi ALI eno, ALI drugo. Z modifierji (CTRL, ALT, SHIFT) sem se igral in dela v starih browserjih, v firefox pa seveda ne ker imajo modifierji druge pomene.

Ima kdo kako idejo kako naredit da bo lahko na enem linku poleg klasičnega href efekta še nek drug, da pa se bosta IZKLJUČEVALA?
  • spremenil: Phoebus ()

Jebiveter ::

Sicer nimam pojma kako bi to naredu, ampak nekaj mi govori, da je resitev v java-script-href-wrapperju, ki stoji pred samim linkom (href) in prestreza evente. Druga resitev pa bi mogoce sla s CSS.
Certainty of death. Small chance of success. What are we waiting for?

OwcA ::

Če drugače ne gre, ustvariš ob kliku novo nit, ki bo preusmerila, torej simulirala povezavo, z zakasnitvijo (setTimeout()) in jo ob dvokliku ubiješ (clearTimeout()).
Otroška radovednost - gonilo napredka.

Matej_ ::

To kar je predlagal Owca je po moje tudi edina rešitev če ne želiš sprožiti obeh dogodkov hkrati - dvojni klik in enojni klik. Obenem boš moral povoziti default dogodek za "href" tag in še funkcija mora vrniti false - sicer v Operi ne dela ok. Pri časovnem intervalu malo eksperimentiraj, saj na dvojni klik načeloma vpliva sistemska nastavitev.

<script language="javascript">
var zamik;
function NaNaslov()
{
document.location.href = 'http://www.google.com';
return false;
};

function DvojniKlik()
{
alert('Nekaj na dvojni klik');
};
</script>
<a href="https://www.google.com"
onClick="zamik=setTimeout('NaNaslov();',500);return false;"
onDblClick="clearTimeout(zamik);DvojniKlik();">Google</a>

Phoebus ::

TNX, bom poeksperimentiral z zakasnitvijo. Samo potem bom moral narest detekcijo jscripta in tam kjer ga ni dodat še "href" noter da bojo delali linki.

McAjvar ::

v ta namen se lahko posluzis
<noscript></noscript>
tagov.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

Phoebus ::

Matej, tvoja zadeva dela v redu z eno napako :)

Skrajšal sem jo na tole:

<script>
var zamik;
</script>

<a href="http://www.24ur.com" onClick="zamik=setTimeout(document.location='http://www.google.com',1000);return false;" onDblClick="clearTimeout (zamik); alert ('2x kliknu' + zamik); return true;">a</a>

To deluje tako da v vsakem primeru naloada google (onClick).
Če odstranim clearTimeout iz DblClick:

<a href="http://www.24ur.com" onClick="zamik=setTimeout(document.location='http://www.google.com',1000);return false;" onDblClick="alert ('2x kliknu' + zamik); return true;">a</a>

Se ob enojnem kliku naloada google, ob dvojnem se odpre popup "2x kliknu" + se naloada google (itak ker zamik naloži).

Sem probal dat namesto ClearTimeout še zamik='' pa zamik=false,..., pa je vedno isti učinek kot če je clearTimeout :-S

Kako bi to uredil? :-S


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VBScript] - tabela, niz?

Oddelek: Programiranje
141038 (883) OwcA
»

Drop down meni!

Oddelek: Izdelava spletišč
101887 (1640) ACE
»

Kako se tole naredi?

Oddelek: Izdelava spletišč
261421 (1121) njok
»

Javascript/PHP vprasanje

Oddelek: Izdelava spletišč
52297 (2183) rasta
»

mysql help

Oddelek: Izdelava spletišč
81997 (1793) poweroff

Več podobnih tem