2013-06-08 2 views
0

У меня есть ссылка на javascript, которую я хочу открыть, но она работает только второй, я нажимаю на нее. Я хочу щелкнуть Div, созданный для этого, и нет привязанных тэгов.javascript link открывается во второй раз, когда я нажимаю его

HTML, я использую:

<li> 
    <div class="artikel_box_lk"> 
     <div class="button" rel="$productNameSeo"> 
      <span>More Info >></span> 
     </div> 
    </div> 
</li> 

Javascript код я использую для этого:

$(function(){ 
    $(".artikel_box_lk").click(function(e) { 

     if($(e.target).hasClass("button")) window.open("/lk/" + $(e.target).attr("rel"), "_blank"); 
     return false; 
    }); 
}); 

Так, странное дело происходит в том, что если я иногда нажать на него пару раз работает. Я, должно быть, забыл что-то важное здесь, но не могу понять.

ответ

3

Попробуйте добавить .button к вашему селектору клик:

$(function(){ 
    $(".artikel_box_lk .button").click(function(e) { 
     window.open("/lk/" + $(this).attr("rel"), "_blank"); 
    }); 
}); 

Я полагаю, первый раз, когда вы щелкните за пределами .button ДИВ

+0

Это работает правильно! Спасибо, что показал мне путь .. Примут через 5 минут. – Hugo

1

Это потому, что вы говорите, если e.target имеет имя класса «кнопка»; это было бы верно только тогда, когда вы нажимаете в областях, где элемент span и его родительский элемент не перекрываются. Когда вы нажимаете на элемент span, он сказал бы, что «target» - это элемент «span», и он не имеет имени класса «button». Всегда делайте console.log($(e.target)); для отладки проблемы.

+0

Спасибо, хорошая дополнительная информация, чтобы узнать что-то! – Hugo