簡體   English   中英

您如何知道使用交叉騎乘者contextMenu選擇了哪個元素

[英]How can you tell which element was selected with a crossrider contextMenu

目前, appAPI.contextMenu回調返回的數據僅為以下內容:

  • pageUrl
  • linkUrl
  • selectedText
  • srcUrl

似乎沒有一種方法可以告訴您實際上是右鍵單擊的內容,只有一點有關它的信息。 例如,我可以搜索所有圖像並找到與srcUrl匹配的srcUrl ,但是如果同一圖像出現多次該怎么辦?

我可以嘗試在extension.js捕獲右鍵單擊事件,並嘗試將它們與上下文菜單事件進行匹配,但這似乎很合理。

查找所選元素的預期方法是什么(在頁面中接收到事件之后)?

假設例如,我希望能夠右鍵單擊圖像並display:none

目前,Crossrider平台不支持您所需的功能,我認為您的解決方法是合理的。 但是,我已將您的建議轉發給Crossrider開發團隊,他們將在以后的發行版中考慮該建議。

[ 披露 :我是Crossrider員工]

作為一種解決方法,盡管我沒有做太多測試,但這實際上似乎是可靠的。 TBH我期待一致性問題:

//in extension.js (background.js just forward context menu events)
var lastRightClicked = null;
window.addEventListener("contextmenu", function(e) { //I guess a mousedown event would work here too
    lastRightClicked = e.target;
}, true);

appAPI.message.addListener({channel:"contextmenu"}, function(message) {
    if (message.menuitem == "Hide")
        lastRightClicked.style.display = "none";
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM