2012-08-08 111 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; 
}