2012-08-08 124 views
0

我有一个JQuery UI调整大小处理程序,它绝对位于包含一组LI(这里是日期集合)的div上。 因此,当我点击任何日期点击事件不会传播,因为调整div div高于李的。处理点击事件的问题

那么,我怎么能得到李的处理点击?

的jsfiddle - http://jsfiddle.net/svXTa/1/

+0

你不能点击一个元素(没有一些丑陋的黑客)。使用简单的解决方案来允许点击叠加层,比如'pointer-events:none;'会禁用可调整大小的元素。 – 2012-08-08 08:50:33

+0

感谢您的建议fabricio,但指针事件:没有会渲染调整大小无用。 – user1184100 2012-08-08 09:13:09

+0

是的,我的意思是。尽可能检查我的解决方案是否有任何运气。 '=]' – 2012-08-08 09:31:20

回答

1

正如我已经说过,这是不可能允许通过点击元素不破坏它的鼠标事件。

我建议您查看您的设计并选择一种解决方案,该解决方案不会覆盖具有绑定到它们的点击处理程序的元素上方的元素。

无论如何,如果你想留在当前的设置,这是我在调用单击处理它下面的元素就是不破可调整大小的元素hackish的解决方案:

$('#dgArea').click(function(e) { 
    $(this).hide(); 
    $(document.elementFromPoint(e.pageX, e.pageY)).click(); 
    $(this).show(); 
}); 

Fiddle

请注意,document.elementFromPoint在古代浏览器中不受支持,所以如果这是个问题,您可以手动实施。这里的one way要做到这一点。

+0

嘿fabricio感谢您的解决方案将尝试修复旧版浏览器... – user1184100 2012-08-08 10:15:32

0

#dgArea{ 
    pointer-events: none; 
}