我正在修改一個利用大型彈出窗口的Wordpress主題。嘗試使用jquery爲magnifica-popup設置data-mfp-src屬性
我想使用空字符串替換錨標記中的URL,並使用URL填充data-mfp-src屬性。這是爲了防止中間點擊在新標籤中打開源圖像,並隱藏狀態欄中的URL(我知道它仍然可以在頁面源中看到)。
我已經試過這樣:
$('.photowall-item a').each(function(idx,link) {
$(this).attr('data-mfp-src', link);
$(this).attr('href', '');
});
我也試着設置使用$(this).attr('href')
,而不是鏈接數據MFP-SRC。
加載頁面時的結果是,href被替換爲空字符串,data-mfp-src被創建,但也包含一個空字符串,而不是原始的href值。如果我爲href分配一個不同的值,data-mfp-src將獲得相同的值。這打破了彈出窗口。
如果我將硬編碼值分配給data-mfp-src,例如。 $(this).attr('data-mfp-src', 'someurl')
它可以工作,但顯然無論您點擊哪個縮略圖,都會彈出相同的圖像。同樣奇怪的是,如果我在消隱href後立即執行alert($(this).attr('data-mfp-src'))
,則會返回data-mfp-src的正確值。但是當我在瀏覽器中查看生成的源代碼時,價值已經消失。
你在哪裏以及如何設置idx和鏈接? – 2014-11-08 07:37:16
如果你想防止中間點擊在新選項卡中打開源圖像,你只需返回false:$(this).on('click',function(){return false;});或$(this).on('click',function(e){e.preventDefault();}); – 2014-11-08 07:42:37
idx包含當前錨元素的索引,鏈接包含href。這些會自動傳入。 – 2014-11-08 07:43:49