2012-02-22 55 views
2

我正在使用jquery contextMenu作爲下拉菜單。我沒有真正使用右鍵單擊功能。相反,當我點擊div標籤時,菜單出現在該div標籤下方。我有很多工作。以下是我基於我的代碼的演示頁面:http://medialize.github.com/jQuery-contextMenu/demo/trigger-custom.html當使用帶自定義激活菜單的jQuery contextMenu時,如何更改菜單的位置?

我想要做的是抵消下拉菜單相對於其默認位置的位置。在與上面相關的演示中,您會看到一個示例:

$('#activate-menu').on('click', function(e) { 
    e.preventDefault(); 
    $('.context-menu-one').contextMenu({x: 100, y: 100}); 
}) 

這並不適用於我。菜單出現在瀏覽器的左上角,而不是從通常出現的位置偏移。

感謝您的幫助!

佈雷特

回答

1

我不熟悉的插件,但它聽起來像xy選項是相對於文檔(或者可能選擇標識的元素,the documentation似乎有點模糊) 。該event object您收到的點擊都有pageXpageY特性,這告訴你在哪裏發生點擊相對於文檔,所以只需添加到這些,例如:

$('.context-menu-one').contextMenu({ 
    x: e.pageX + 100, 
    y: e.pageY + 100 
}); 

100個像素抵消可能有點多,但這是原則。

+0

優秀!這完美地完成了這個技巧。謝謝T.J.我同意這個文檔有點奇怪。對於其他人:如果你要這樣設置位置,設置x和y都很重要。當我只設置x時,我遇到了問題。 – clone45 2012-02-22 04:59:47