2009-04-23 114 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

相关问题