La maggior parte dei browser moderni supporta i comandi ctrl+click
o command+click
o simili per aprire i collegamenti in una nuova scheda o in una nuova finestra.Determinare onclick se il collegamento cliccato è pensato per aprire una nuova finestra o scheda
In un'applicazione, desidero disattivare il collegamento facendo clic. Ma solo, se la destinazione è la stessa finestra (se, ad esempio, si apre in una nuova scheda, non voglio che il link diventi disabilitato poiché è ragionevole fare di nuovo clic).
Ho eseguito alcuni tentativi e ho eseguito il debug sull'oggetto evento che viene creato al clic, ma non riesco a trovare alcuna informazione sul fatto che il target sia una nuova scheda o una nuova finestra.
soluzione nota: Certamente è possibile verificare se un determinato tasto era stato premuto mentre si clicca un link specifico, una cosa facile - ma dal momento che questi comandi variano da browser a browser e dal sistema operativo a sistema operativo, si dovrebbe definire una mappatura complicata e chi è esattamente ciò che l'utente ha configurato e così via.
Esiste un modo affidabile per determinare se la posizione deve essere aperta in una nuova scheda o finestra?
Bene, questo funziona solo con un attributo di destinazione fisso. Se l'utente "sovrascrive" questo tenendo premuto ctrl (o simile), l'attributo non cambierà e ovviamente la determinazione fallisce. – Remo
Ho modificato la mia risposta per far corrispondere il caso di cui hai parlato, e credo che non ci sia altra soluzione che pensare a ogni modo in cui un utente può aprire un link in una nuova finestra e cercare di rilevarlo all'interno del tuo codice. – Pioul