2015-01-06 2 views
0

Я пытаюсь закончить контактный раздел личной страницы, где у меня есть URL-адрес для каждой из моих социальных сетей/контактных страниц в виде текста в div. Когда пользователи нажимают на нее, она переходит к указанной ссылке. Но, естественно, для моего адреса электронной почты я хочу, чтобы они отправили свое почтовое приложение. Таким образом, я написал эту JQuery:jquery добавление почтовой ссылки

$(".contact-info").click(function() { 
    var link = $(this).text(); 
    if (link == "[email protected]") { 
     link = "mailto:" + link; 
    } 
    window.location.href = link; 
}); 

Наряду с этим HTML и CSS, если это поможет:

<div class="contact-info"> 
    <div class="contact-img"> 
     <img src="assets/img/icon_at.png"> 
     <div class="contact-link">[email protected]</div> 
    </div> 
</div> 

.contact-info { 
    width: 40%; 
    height: 50px; 
    display: inline-block; 
    padding: 0px 10px; 
    margin-bottom: 10px; 
    margin-top: 10px; 
    margin-right: 40px; 
    margin-left: 20px; 
    cursor: pointer; 
} 

Он отлично работает для прямых ссылок, но почта случай всегда дает мне сообщение об ошибке 404. Кто-нибудь сможет сказать мне, что я здесь делаю неправильно?

UPDATE: «contact-info» - это класс, который я применяю к каждому из своих div, представляющих режим контакта, например, Facebook, LinkedIn и электронную почту.

+3

Что такое 'Контакт-info'? Почему вы не просто используете ссылки для запуска? Похоже, вы воссоздаете колесо. – epascarello

+3

Работает для меня здесь: http://jsfiddle.net/barmar/jbh2ovg3/ – Barmar

+0

Выше комментарий также работает для меня. – pmverma

ответ

1

Надеется, что это поможет

$(".contact-info").click(function(e) { 
    e.preventDefault(); 
    var link = $(this).text(); 
    if (link == "[email protected]") { 
     link = "mailto:" + link; 
    } 
    window.location.href = link; 
}); 
+1

какой дефолт вы предотвращаете текст в div? – charlietfl

+0

Хм, извините, я забыл о «тексте в div». – murnax

+0

Используйте '==='. Сравнение строк и строк. Нет принуждения типа –

1

всегда мог использовать матч, только в случае, если у вас есть поддержка/информация/помощь/и т.д. ...

$(".contact-info").on('click', function(e) { 
    e.preventDefault(); 
    var link = $(this).text(); 
    window.location.href = (link.match('@')) ? "mailto:" + link : link; 
}); 
Смежные вопросы