熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

如何實現浏覽器上的右鍵菜單

2013-11-23 17:58:51  來源: Javascript 
今天和大家一起學習一下如何在浏覽器中實現類似於應用程序的鼠標右擊後出現右鍵菜單的效果

  首先要解決的問題是在怎樣的情況鼠標右擊不會出現IE的菜單思路可以有兩個一個是將焦點移開還有一個就是點在網頁的什麼地方不會出現右鍵菜單而且會響應鼠標點擊消息


  想了想 總結出的下面幾種方法


  響應右鍵消息出一個ALERT框(還有點新鮮的東東沒有)


  響應右鍵消息後彈出一個新的窗口將初始頁的的焦點移開


  可是經過試驗後發現只有窗口出現在鼠標右擊的位置時才會沒有浏覽器的右鍵菜單出現


  響應右鍵消息後彈出一個HTML的對話框即使用showModalDialog來開啟一個HTML對話框使用這種方式可以讓右鍵菜單不會出現但是有一個問題是使用使用showModalDialog開啟的對話框不會向使用WindowOpen開啟的對話框一樣可以移出屏幕所在的范圍就是說始終可以看見有一個對話框出現在屏幕上這條路也不能走了


  最後一招了在Select上進行鼠標右擊或左擊都不會有反應那麼如果每次鼠標都點在Select上不就不會出現浏覽器的右鍵菜單了



  下面就是一個例子感興趣的可以把下面的拷貝成l就可以看看效果了


< HTML>

< title>webjx Test< /title>

< script>

var x y;

documentonmousemove=moveMouse

documentonmousedown=click


function moveMouse()

{

Layerstyleleft = eventclientX ;

Layerstyletop = eventclientY ;

}

function click()

{

if (eventbutton==)

{

x = eventclientX;

y = eventclientY;

Layerstylevisibility=;

windowsetTimeout(showMenu(); );

}

else

{

HiddenPop();

PopMenustylevisibility=hidden;

}


}

function showMenu()

{

PopMenustyleleft = x ;

PopMenustyletop = y ;

PopMenustylevisibility=;

HiddenPop();

}

function HiddenPop()

{

Layerstylevisibility=hidden;

}

< /script>

< BODY>


在窗口中右擊一下看看出什麼:)

< div id=Layer >

< select >< /select>

< /div>

< div id=PopMenu >

< table border= width= >

< TH align=center color=sliver onclick=>

右鍵菜單

< /tH>

< tr>

< td>

click it!:)

< /td>

< /tr>

< /table>

< /div>

< /BODY>

< /HTML>
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25485.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.