国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

CSS+JavaScript打造超酷右鍵菜單

2024-04-27 13:55:17
字體:
供稿:網(wǎng)友

  但有時(shí)候我們會遇到這樣的問題,我們希望禁止訪問者使用右鍵菜單或者希望屏蔽右鍵菜單的某些功能,比如,為了保護(hù)網(wǎng)頁內(nèi)容我們不希望訪問者通過右鍵菜單來查看網(wǎng)頁源代碼,也不希望其通過右鍵來對網(wǎng)頁內(nèi)容進(jìn)行選取、復(fù)制等,很多網(wǎng)頁設(shè)計(jì)者在考慮這個問題的時(shí)候都是簡單地對右鍵進(jìn)行屏蔽,與其這樣我們還不如用腳本來實(shí)現(xiàn)一個風(fēng)格右鍵菜單,并在這個右鍵菜單中裝上我們自己的內(nèi)容。下面我們來嘗試一下這個設(shè)想。

  我們首先要考慮的問題是通過鼠標(biāo)右鍵單擊事件來調(diào)用一個函數(shù),這個函數(shù)用來顯示新的右鍵菜單的內(nèi)容。我們知道鼠標(biāo)的右鍵單擊事件是通過document.oncontextmenu來調(diào)用的,如果我們自行定義document.oncontextmenu=某個函數(shù),這樣就可以實(shí)現(xiàn)新右鍵菜單的調(diào)用了,關(guān)鍵問題是如何通過這個函數(shù)來控制菜單的顯示,同時(shí),還要通過窗體的單擊事件document.body.onclick(一般指左鍵單擊)來隱藏菜單,這樣一個過程就完成了鼠標(biāo)右鍵菜單的彈出和隱藏。

  首先來看看這段腳本代碼:

/*初始化*/
<script language="javaScript1.2">
/*如果當(dāng)前瀏覽器是Internet Explorer,document.all就返回真*/
if (document.all && window.PRint) {

/*選擇菜單方塊的顯示樣式*/
ie5menu.className = menuskin;

/*重定向鼠標(biāo)右鍵事件的處理過程為自定義程序showmenuie5*/
document.oncontextmenu = showmenuie5;

/*重定向鼠標(biāo)左鍵事件的處理過程為自定義程序hidemenuie5*/
document.body.onclick = hidemenuie5;
}
</script>

  一般情況下頁面裝載完畢后才發(fā)生鼠標(biāo)右鍵事件,所以為了不影響頁面的裝載速度我們可以把這段代碼放在頁面的最后面。這段代碼很簡單,首先檢驗(yàn)是不是IE瀏覽器,如果是那么下面的定義就應(yīng)該有效。也就是說當(dāng)檢查到客戶端使用的瀏覽器是IE的時(shí)候那么當(dāng)用戶產(chǎn)生右鍵事件時(shí)就調(diào)用函數(shù)showmenuie5,當(dāng)用戶產(chǎn)生左鍵事件時(shí)就調(diào)用函數(shù)hidemenuie5。

  解決了上面這個問題,現(xiàn)在我們要考慮如何通過函數(shù)showmenuie5和函數(shù)hidemenuie5來實(shí)現(xiàn)菜單的顯示和隱藏。當(dāng)然,這里的菜單并不是真正意義的右鍵菜單,而是我們自己做的一個div,在這個div中裝上我們想要裝的東西。通過鼠標(biāo)事件調(diào)用函數(shù)來控制它的顯隱,這就達(dá)到了使用鼠標(biāo)右鍵一樣的效果了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆子县| 伊金霍洛旗| 民乐县| 五指山市| 会宁县| 万全县| 鸡西市| 金秀| 柏乡县| 桐柏县| 台前县| 南昌县| 历史| 临武县| 正阳县| 沧州市| 吉水县| 来安县| 岳普湖县| 米易县| 晋中市| 禹州市| 双城市| 察哈| 固始县| 含山县| 泰安市| 万荣县| 平乡县| 八宿县| 深圳市| 甘南县| 彝良县| 京山县| 宜良县| 前郭尔| 昌图县| 红桥区| 南部县| 西贡区| 土默特左旗|