Estoy tratando de agregar un enlace mailto a través de javascript a un elemento dentro de una información sobre herramientas. Tuve que poner el código en un document.onclick ya que el código no se ejecuta si no es así. Así que ahora lo tengo funcionando pero el problema es que debes hacer clic dos veces en el enlace para que se active. ¿Hay alguna manera de eliminar los 2 clics? Si esta función no está dentro del document.onclick, no funciona. Gracias por adelantado..

document.onclick = function(){
     jQuery(".gm_popup .email").click(function(){
        var text = jQuery(this).text();
        document.location = "mailto:" + text.trim();
    });
  }
0
Alex Murray 11 dic. 2015 a las 04:19

4 respuestas

La mejor respuesta

Justo en el clavo

$(document).on('click', '.gm_popup .email', function(){
  var text = jQuery(this).text();
  document.location = "mailto:" + text.trim();
});
0
Alex Murray 11 dic. 2015 a las 02:52

En lugar de adjuntar el evento a su elemento al hacer clic, simplemente adjúntelo al cargar la página. Como ya estás usando jquery:

$(function() {
    //Anything you place in here won't be run until the page has loaded
});

Entonces, en tu caso, haz algo como esto

$(function() {
    jQuery(".gm_popup .email").click(function(){
        var text = jQuery(this).text();
        document.location = "mailto:" + text.trim();
    });  
});
0
trentjones21 11 dic. 2015 a las 01:23

No estoy seguro si desea hacer clic en el elemento para que la información sobre herramientas aparezca con un enlace y luego haga clic por segunda vez en el enlace de información sobre herramientas. Aparte de eso, puedes probar:

$(document).ready(function() {
$(".gm_popup .email").click(function(event){
        event.preventDefault();
        var text = jQuery(this).text();
        document.location = "mailto:" + text.trim();
    });
});

¡Espero que eso ayude!

0
Manuel 11 dic. 2015 a las 01:28

Parece que desea agregar el controlador de eventos mailto al enlace de información sobre herramientas cuando se muestre, por lo que vincula el evento al enlace mientras se hace clic en el documento. En tal caso, quizás $ (". Gm_popup .email"). On ("click", handler) es una mejor opción.

0
YonF 11 dic. 2015 a las 01:57