我試圖使用ContextMenu plugin將上下文菜單延遲綁定到元素。所以第一右鍵單擊這些元素,我想:觸發器右鍵單擊
- 攔截通過對某個「uncontextmenued」一流的現場活動右擊,
- 確定
data('events').contextmenu
存在 - 如果沒有,附加上下文菜單(並更改班級以避免重新投入此實時進程),
- 重新拋出右鍵單擊事件以顯示右鍵單擊。
我對最後一個項目有問題。 jQuery允許.click()
或.trigger('click')
模擬左鍵單擊,但似乎沒有辦法通過trigger
觸發右鍵單擊事件。
或者有嗎?
好吧,讓我走在正確的軌道上。只是爲了完成答案,引用的插件實際上需要一個mousedown,然後是一個mouseup ...因此,觸發像Niclas所說的必須跟着一個觸發器('mouseup')。由於它是'button'屬性,而不是插件讀取的'which'屬性,所以我的問題的實際答案是$('#element')。trigger('mousedown',{button:2})。觸發('mouseup')。感謝Niclas。 – glmxndr 2011-06-06 12:42:07
嗨subtenante,100萬感謝,我只是在相同的功能後,你的回答真的幫了我很多,但我認爲你有一個錯誤,我不得不改變它: $('#element')。trigger ({類型: '鼠標按下',按鈕:2})觸發({類型: '鼠標鬆開'}); ,使其工作。 – 2011-09-06 15:48:59
與我的情況相同,「mouseup」而不是「mousedown」。 – gumkins 2013-07-25 04:48:22