[英]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.