2009-04-23 111 views
2

我有了這個DOM:點擊overlaped元素與click事件

<li> 
    <img class="ui-selectee" src="../img/thumbs/80x80_1280_wallpaper.jpg" style=""/> 
    <input type="hidden" value="3"/> 
    <a class="btnImgDel" title="Eliminar" href="javascript:void(0)">Eliminar</a> 
    <a class="btnImgRen" title="Renombrar" href="javascript:void(0)">Renombrar</a> 
    <a class="btnImgZoom" title="Ampliar" href="javascript:void(0)">+</a> 
</li> 

鏈接並不覆蓋所有的圖像,但只有一些像素。

您可能會注意到,img是可選的(jQuery UI),它有三個鏈接作爲兄弟。點擊時這些鏈接應該運行一個功能:

$('.btnImgDel').live('click',function(){ 
    $('#dialogDeleteImg').dialog('open'); 
    console.log('click'); 
}); 

但是,當我點擊一個鏈接時,什麼也沒有發生。鏈接有更大的z-index並且可見。

任何方式使這項工作或任何線索可能會發生什麼?

+0

As deviant的回答顯示,你的問題是你通過把href =「javascript:void(0)」放在那裏而排除了發生任何事情的機會。 – KyleFarris 2009-04-24 05:36:18

回答

2

放的console.log對話框()之前它可以對被失敗。

此外,沒有必要用href的javascript。

<a href="#"></a> 

$(".btnImgDel").click(function(event) { 

    event.preventDefault(); 

}); 
0

你把你的代碼放在$(document).ready()裏面嗎?

你也可以試試:

$(document).ready(function() { 
    $('.btnImgDel').click(
    function(){ 
     $('#dialogDeleteImg').dialog('open'); 
     console.log('click'); 
    }); 
}); 

或本

<span class="btnImgDel" title="Eliminar">Eliminar</span> 
+0

是的,它在$(document).ready()中。 我無法使用$('。btnImgDel')。click()。 a.btnImgDel正在動態創建,這就是爲什麼我使用live() – Gerardo 2009-04-23 03:34:10

+0

它不工作時很好(雖然我確實需要它) – Gerardo 2009-04-23 13:52:17

相關問題