我有一个 Jquery UI 调整大小处理程序,它绝对位于包含一组 LI 的 div 上(这里是一组日期)。因此,当我单击任何日期时,不会传播单击事件,因为调整大小的 div 高于 LI。
那么我怎样才能让 li 处理点击?
JSFIDDLE - http://jsfiddle.net/svXTa/1/
我有一个 Jquery UI 调整大小处理程序,它绝对位于包含一组 LI 的 div 上(这里是一组日期)。因此,当我单击任何日期时,不会传播单击事件,因为调整大小的 div 高于 LI。
那么我怎样才能让 li 处理点击?
JSFIDDLE - http://jsfiddle.net/svXTa/1/
正如我已经说过的,在不破坏鼠标事件的情况下允许单击元素是不可能的。
我建议您查看您的设计并选择一种解决方案,该解决方案不会将元素覆盖在绑定了点击处理程序的元素之上。
无论如何,如果您希望保持当前设置,这是我的 hackish 解决方案,它在调用其下方元素的点击处理程序时不会破坏可调整大小的元素:
$('#dgArea').click(function(e) {
$(this).hide();
$(document.elementFromPoint(e.pageX, e.pageY)).click();
$(this).show();
});
请注意,document.elementFromPoint
古代浏览器不支持,因此如果这是一个问题,您可以手动实现它。这是执行此操作的一种方法。
放
#dgArea{
pointer-events: none;
}