0

我有一个我想打开的 javascript 链接,但它只有在我点击它的第二次才会起作用。我想单击为此创建的 div,并且不涉及锚标记。

我使用的 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;
    });
});

所以,奇怪的事情是,如果我点击它几次,它有时会起作用。我一定是忘记了这里的重要内容,但似乎无法找到。

4

2 回答 2

3

尝试添加.button到您的点击选择器:

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

我想你第一次点击外部.buttondiv

于 2013-06-08T11:18:02.847 回答
1

这是因为你说如果e.target有“按钮”的类名;只有当您单击 span 元素与其父元素不重叠的区域时,才会出现这种情况。当您单击 span 元素时,它会说“target”是“span”元素并且它没有类名“button”。总是做一个console.log($(e.target));调试问题。

于 2013-06-08T11:30:04.630 回答