十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      contextmenu事件在H5中應方法及實例

      百恒網絡 2016-12-27 6973

      關于contextmenu 事件, Windows 95在 PC中引入了上下文菜單的概念,即通過單擊鼠標右鍵可以調出上下文菜單。不久, 這個概念也被引入了 Web 領域。為了實現上下文菜單,開發人員面臨的主要問題是如何確定應該顯示上下文菜單(在 Windows 中,是右鍵單擊;在 Mac 中,是 Ctrl+單擊),以及如何屏蔽與該操作關聯的 默認上下文菜單。為解決這個問題,就出現了 contextmenu 這個事件,用以表示何時應該顯示上下文菜單,以便開發人員取消默認的上下文菜單而提供自定義的菜單。?
      ? ? ? ?由于 contextmenu 事件是冒泡的,因此可以為 document 指定一個事件處理程序,用以處理頁面中發生的所有此類事件。這個事件的目標是發生用戶操作的元素。在所有瀏覽器中都可以取消這個事件: 在兼容 DOM的瀏覽器中,使用 event.preventDefalut();在 IE中,將 event.returnValue 的值設置為 false。南昌網站建設公司百恒網絡前端開發工程告訴大家原因,原因是contextmenu 事件屬于鼠標事件,所以其事件對象中包含與光標位置有關的所有屬性。通常使用 contextmenu 事件來顯示自定義的上下文菜單,而使用 onclick 事件處理程序來隱藏該菜單。以下面的 HTML頁面為例。
      ? ? ? ?


      ? ? ? ? ContextMenu Event Example
      ? ? ? ?


      ? ? ? ?

      Right click or Ctrl+click me to get a custom context menu. Click anywhere else to get the default context menu.

      ? ? ? ? ? ? ? ?


      ? ? ? ?這里的
      元素包含一個自定義的上下文菜單。其中,
        元素作為自定義上下文菜單,并且在 初始時是隱藏的。實現這個例子的 JavaScript代碼如下所示。
        ? ? ? ? EventUtil.addHandler(window, "load", function(event){
        ? ? ? ? var div = document.getElementById("myDiv");

        ? ? ? ? ? ? ? ? EventUtil.addHandler(div, "contextmenu", function(event){
        ? ? ? ? ? ? ? ? event = EventUtil.getEvent(event);
        ? ? ? ? ? ? ? ? EventUtil.preventDefault(event);

        ? ? ? ? ? ? ? ? var menu = document.getElementById("myMenu");
        ? ? ? ? ? ? ? ? menu.style.left = event.clientX + "px";
        ? ? ? ? ? ? ? ? menu.style.top = event.clientY + "px";
        ? ? ? ? ? ? ? ? menu.style.visibility = "visible";
        ? ? ? ? ? ? ? ? });

        ? ? ? ? EventUtil.addHandler(document, "click", function(event){
        ? ? ? ? ? ? ? ? document.getElementById("myMenu").style.visibility = "hidden";
        ? ? ? ? ? ? ? ?});
        ? ? ? ? });
        ? ? ? ? 在這個例子中,我們為
        元素添加了 oncontextmenu 事件的處理程序。這個事件處理程序首 先會取消默認行為,以保證不顯示瀏覽器默認的上下文菜單。然后,再根據 event 對象 clientX 和 clientY 屬性的值,來確定放置
          元素的位置。后一步就是通過將 visibility 屬性設置為 "visible"來顯示自定義上下文菜單。另外,還為 document 添加了一個 onclick 事件處理程序,以 便用戶能夠通過鼠標單擊來隱藏菜單(單擊也是隱藏系統上下文菜單的默認操作)。
          ? ? ? ? 雖然這個例子很簡單,但它卻展示了 Web 上所有自定義上下文菜單的基本結構。只需為這個例子 中的上下文菜單添加一些 CSS樣式,就可以得到非常棒的效果。?
          ? ? ? ?支持 contextmenu 事件的瀏覽器有 IE、Firefox、Safari、Chrome和 Opera 11+。
          ? ? ? ??
          ? 本文僅限內部技術人員學習交流,不得作于其他商業用途.希望此文對廣大技人員有所幫助。原創文章出自:南昌網站建設公司-百恒網絡http://www.dgscpc.com/如轉載請注明出處!

      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      色一乱一伦一图一区二区精品 | 久久久这里只有精品加勒比| 亚洲国产精品lv| 精品一区二区久久久久久久网站| 国产线视频精品免费观看视频| 亚洲国产精品综合久久网络| 日韩成全视频观看免费观看高清| 欧美日韩精品乱国产| 中文字幕日韩专区| 日韩人妻无码精品系列| 亚洲日韩精品一区二区三区| 国产在线91区精品| 四虎影视精品永久免费网站| 日韩毛片在线免费观看| 日韩内射美女片在线观看网站| 伊人影视在线观看日韩区| 亚洲AV日韩AV永久无码下载| 日韩毛片一级好特黄| 日韩在线看片免费人成视频播放| 成人麻豆日韩在无码视频| 日韩成人精品日本亚洲| 亚洲国产精品无码久久青草 | 久久精品国产第一区二区三区| 日韩精品国产另类专区 | 八区精品色欲人妻综合网| 日韩人妻激情制服丝袜另类| 国产亚洲Av综合人人澡精品| 国产亚洲美女精品久久| 国产精品V亚洲精品V日韩精品 | 亚洲欧洲久久久精品| 国产精品亚洲产品一区二区三区| 精品国产一区二区22| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产乱码精品一品二品| 国产在线精品一区二区不卡| 久热中文字幕在线精品首页| 久久精品天天中文字幕人妻 | 步兵精品手机在线观看| 亚洲精品视频免费观看| 久久久久久国产精品美女| 国产精品亚洲一区二区三区在线|