[Javascript/jQuery] window.open

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey iedereen,

Ik heb een stukje code en wil dit wat aanpassen. Dit dient om een <a> aan te spreken vanuit een <td> en die <td> te gebruiken als link.

JavaScript:
1
2
3
4
5
6
7
8
    $('#voorbeeld').css('cursor', 'pointer').click(function() {
    window.open($('a', this).attr('href'));
    return false;
        }).hover(function() {
    $(this).addClass('hover');
    }, function() {
        $(this).removeClass('hover');
    }); 


De html structuur is simpel gesteld zo:
HTML:
1
2
3
4
5
6
7
8
9
  <table>
    <tr>
      <td id="voorbeeld">
        <a href="example/1234">
          <img src="foo.jpg">
        </a>
      </td>
    </tr>
  </table>


Nu werkt dit perfect (linkt naar de juiste pagina, voegt css class 'hover' toe en css 'cursor' en 'pointer') maar in dit geval opent dit de link in een nieuw venster. Ik zou graag die link in hetzelfde venster openen. Ik dacht dat ik daarvoor .open door .location moest vervangen, maar blijkbaar werkt dat niet. Heeft er iemand een idee?

Ik hoop dat ik het goed genoeg uitgelegd heb. Ben geen krak in problemen uitleggen, maar stel gerust vragen. Alvast hartelijk dank!

Cheers,
Danny

Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 22:02

krvabo

MATERIALISE!

Waarom hang je een 'click' event op een link welke een window opent, als je wil dat het element zich gewoon als een link gedraagd?

Alhoewel ik jQuery niet voldoende ken durf ik ook nog wel te zeggen dat het niet slim is om een onclick te gebruiken. Je kunt immers ook gebruik maken van de tab-toets om naar een element te gaan en deze te volgen.

Je antwoord op je vraag staat in het eerste deel van mijn reply. Het simpel weghalen van de .click (tot .hover) zou moeten werken. Maargoed, ik ken jQuery niet, dus ik zou niet weten of de functie dan nog werkt.

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

ipv window.open gebruiken location.href = url

@krvabo, de link is in dit geval ook nog steeds gewoon bruikbaar, hij breid het klikbare gebied echter uit naar de volledige TD. Dat is juist de mooiste unobtrusive oplossing :)

Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 22:02

krvabo

MATERIALISE!

Bosmonster schreef op donderdag 16 juli 2009 @ 10:43:
ipv window.open gebruiken location.href = url

@krvabo, de link is in dit geval ook nog steeds gewoon bruikbaar, hij breid het klikbare gebied echter uit naar de volledige TD. Dat is juist de mooiste unobtrusive oplossing :)
Ahja, nu je het zegt, dat had ik even gemist.
Ik schrijf dat soort code ook altijd gewoon zelf ipv frameworks als jQuery te gebruiken..
Mijn excuses aan de ts :)

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hartelijk dank beide.. :)

Op deze manier werkt het:
JavaScript:
1
2
3
4
5
6
7
8
    $('#voorbeeld').css('cursor', 'pointer').click(function() {
    location.href=($('a', this).attr('href'));
    return false;
        }).hover(function() {
    $(this).addClass('hover');
    }, function() {
        $(this).removeClass('hover');
    });

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
location is overigens een property van document. Het was dus window.document.location, maar je kunt hem gewoon direct aanspreken. href is trouwens de default property van location, dus die kun je ook weglaten.

Noushka's Magnificent Dream | Unity

Pagina: 1