2011-07-20 48 views
0

我想爲我的網站創建一個燈箱,但我遇到了問題。由於我在jQuery中不太流利,所以我犯了很多錯誤。其中之一是,我不能讓preventDefault()適用於文本和圖像鏈接!請檢查下面的代碼preventDefault()不適用於圖像鏈接

HTML代碼:

Text link: <a class='ultbox_simg' href='images/1.jpg'>Image 1</a> 
Image link: <a href='images/1.jpg'><img src="images/1t.jpg" /></a> 

jQuery腳本:

$(document).ready(function ($){ 

    $(".ultbox_simg").click(function (obj){ 
     obj.preventDefault(); 
     var img_link=$(this).attr("href"); 

    }); 
}); 
+0

爲什麼你需要防止在圖像上的默認?你需要這樣做的錨定標記 – Ibu

+0

也許你應該添加'類'屬性的圖像鏈接爲文本鏈接是? '' – marioosh

+0

@Ibu:標題是(輕度)誤導性的,但是如果你看看代碼,這是他試圖掛鉤的'a'他只是沒有鉤住他們兩個。 –

回答

3

您也添加類到IMG鏈接:

Text link: <a class='ultbox_simg' href='images/1.jpg'>Image 1</a> 
Image link: <a class='ultbox_simg' href='images/1.jpg'><img src="images/1t.jpg" /></a> 

$(".ultbox_simg").click(function (obj){ 
    obj.preventDefault(); 
    var img_link=$(this).attr("href"); 

}); 

或者(我認爲更好),y歐可追求的目標與HREF鏈接:

$('a[href="images\\/1\\.jpg"]').click(function (obj){ 
    obj.preventDefault(); 
    var img_link=$(this).attr("href"); 

}); 
0

你也應該防止默認動作:

<a href='images/1.jpg'> 

因此,對於其添加類如「noClick」,添加腳本:

$(".noClick").click(function (obj){ 
     obj.preventDefault(); 
}); 
0

您需要將類.ultbox_simg添加到圖像鏈接。

<a class='ultbox_simg' href='images/1.jpg'><img src="images/1t.jpg" /></a> 
0

這裏是你需要改變什麼:

Image link: <a href='images/1.jpg'><img src="images/1t.jpg" /></a> 

到:

Image link: <a href='images/1.jpg' class='ultbox_simg'><img src="images/1t.jpg" /></a> 

現在將工作

0

隨着$('.ultbox_simg')您選擇具有類元素ultbox_simg並將click處理程序綁定到它們。

但圖片鏈接沒有此類分配..

所以

<a class="ultbox_simg" href="images/1.jpg"><img src="images/1t.jpg" /></a>