2010-12-15 84 views

回答

27

一個選項是replace the context menu與您自己的JavaScript觸發的等效。

Firefox實現了menu element,您可以將其添加到現有的上下文菜單中。它在Chrome後面也實施了一個標誌。不幸的是,由於缺乏實施興趣,此功能已被removed from the W3C standard

<menu type="context" id="mymenu"> 
    <menuitem label="Refresh Post" onclick="window.location.reload();" icon="/images/refresh-icon.png"></menuitem> 
    <menuitem label="Skip to Comments" onclick="window.location='#comments';" icon="/images/comment_icon.gif"></menuitem> 
    <menu label="Share on..." icon="/images/share_icon.gif"> 
     <menuitem label="Twitter" icon="/images/twitter_icon.gif" onclick="goTo('//twitter.com/intent/tweet?text=' + document.title + ': ' + window.location.href);"></menuitem> 
     <menuitem label="Facebook" icon="/images/facebook_icon16x16.gif" onclick="goTo('//facebook.com/sharer/sharer.php?u=' + window.location.href);"></menuitem> 
    </menu> 
</menu> 

要使一個元素使用上下文菜單中,contextmenu="mymenu"屬性添加到它。你可以在這裏看到mymenu匹配menu元素的id屬性。

Source

Demo

+17

在2016年,該功能仍然只支持firefox :(2017年的 – Grief 2016-07-21 23:31:46

+6

此功能仍然只支持firefox :( – faiwer 2017-06-22 05:51:51

-1

使用網頁不能修改客戶端的應用程序。如果這是可能的,只要想想黑客如何利用我們的電腦。

你可以做什麼,是定義你自己的自定義菜單,而用戶右鍵單擊。

檢查這個jQuery插件例如:http://labs.abeautifulsite.net/archived/jquery-contextMenu/demo/

+5

)您可以查詢擊鍵和鼠標事件並將其替換爲您自己的功能,爲什麼上下文菜單是不同的? – wubbewubbewubbe 2013-04-25 09:45:43

+0

@wubbewubbewubbe,OP想要添加到瀏覽器的上下文菜單中。你有沒有讀過這個?而且這個例子是鏈接到,你的評論正是如此,所以downvoters甚至沒有閱讀這個問題或現在的答案嗎?根據你的評論進行downvoting?如何有趣!! – Starx 2017-02-09 08:55:12

34

在現代瀏覽器,你可以操縱內置的上下文菜單中,像這樣:

<menu type="context" id="supermenu"> 
<menuitem label="trial" onclick="alert('Smile please')"></menuitem> 
    <menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem> 
    <menuitem label="resize" onclick="resize()" icon="http://cdn3.iconfinder.com/data/icons/fugue/icon/image-resize.png"></menuitem> 
    <menu label="share"> 
    <menuitem label="twitter" onclick="alert('foo')"></menuitem> 
    <menuitem label="facebook" onclick="alert('bar')"></menuitem> 
    </menu> 
</menu> 

<a href='#' contextmenu="supermenu">Right click me</a> 

對於進一步閱讀: http://www.w3.org/wiki/HTML/Elements/menu

演示:https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309

+0

這真的很整潔。你知道它是否可以用於Chrome嗎? – wubbewubbewubbe 2013-04-25 09:43:36

+0

我搜索了,我認爲它不能(至少現在) – wubbewubbewubbe 2013-04-25 09:50:23

+10

鉻是新的IE6 ...現在,很多事情s是不支持 - > http://caniuse.com/#search=menu – vsync 2013-04-25 12:52:16

相關問題