簡體   English   中英

帶子鏈接的可點擊DIV

[英]Clickable DIV with children links

我創建了一個clickable div元素,其中包含一些鏈接。 當我單擊div上的任意位置時,頁面將轉到郵件鏈接,但我希望能夠轉到該div內的所有其他鏈接。 我設法通過調用e.stopPropagation();來做到這一點e.stopPropagation(); 方法。 效果很好。 您可以在此處查看其運行情況: http : //jsfiddle.net/nfZ3y/1/

問題是,按住ctrl鍵並單擊鏈接(以在新選項卡上將其打開)時,該鏈接將不起作用,並且頁面將轉到默認鏈接(而不是我剛剛單擊的鏈接)。 如何實現子鏈接的所有功能並為div添加默認鏈接?

正如人們指出的那樣, stopPropagation在Firefox中的工作方式似乎與其他瀏覽器不同。 我唯一的建議是自己處理點擊:

$('.first').click(function (e) {
    var title = $(this).children('.main-link');
    var href = title.attr('href');
    if ( e.ctrlKey )
        window.open(href,"_blank");
    else
        window.location = href;
    return false;
});

$('.first a').click(function (e) {
    var title = $(this);
    var href = title.attr('href');
    if ( e.ctrlKey )
        window.open(href,"_blank");
    else
        window.location = href;
    return false;
});​

jsFiddle上的工作示例

更新:為了減少冗余,請用第一個處理程序代替:

$('.first').click(function (e) {
    $(this).children('.main-link').click();
    return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM