zoukankan      html  css  js  c++  java
  • 可定制的IE鼠标右键菜单

    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Drawing;

    [assembly:TagPrefix("MyWebMenu","zbjg")]
    namespace MyTools
    {
        /// <summary>
        /// Summary description for MyWebMenu.
        /// </summary>
        public class MyWebMenu : System.Web.UI.WebControls.Panel
        {
            public MyWebMenu()
            {
                this.BorderStyle = BorderStyle.Outset;
                this.BackColor = Color.Silver;
                this.BorderWidth= new Unit(2);
            }

            protected override void Render(HtmlTextWriter writer)
            {
                base.Render (writer);
                writer.RenderBeginTag(HtmlTextWriterTag.Script);
                writer.WriteLine("<!--");
                writer.WriteLine("   document.getElementById('" + this.ClientID + "').style.position = 'absolute';");
                writer.WriteLine("   document.getElementById('" + this.ClientID + "').style.display = 'none';");
                writer.WriteLine("   function Hide_MyMenu() {");
                writer.WriteLine("      var tempDiv = document.getElementById('" + this.ClientID + "');");
                writer.WriteLine("      if(tempDiv.offsetLeft > window.event.clientX + 25) {");
                writer.WriteLine("         tempDiv.style.display = 'none'; }");
                writer.WriteLine("      if(tempDiv.offsetLeft + tempDiv.offsetWidth < window.event.clientY - 25) {");
                writer.WriteLine("         tempDiv.style.display = 'none'; }");
                writer.WriteLine("      if(tempDiv.offsetTop > window.event.clientY + 25) {");
                writer.WriteLine("         tempDiv.style.display = 'none'; }");
                writer.WriteLine("      if(tempDiv.offsetTop + tempDiv.offsetHeight < window.event.clientY - 25) {");
                writer.WriteLine("         tempDiv.style.display = 'none'; }");
                writer.WriteLine("   }");
                writer.WriteLine("");

                writer.WriteLine("   function Show_MyMenu() {");
                writer.WriteLine("      var tempDiv = document.getElementById('" + this.ClientID + "');");
                writer.WriteLine("      tempDiv.style.left = window.event.clientX ;");
                writer.WriteLine("      tempDiv.style.top = window.event.clientY ;");
                writer.WriteLine("      tempDiv.style.display = '' ;");
                writer.WriteLine("      return false; }");
                writer.WriteLine("");
                writer.WriteLine("   document.oncontextmenu = Show_MyMenu;");
                writer.WriteLine("   document.onmousemove = Hide_MyMenu;");
                writer.WriteLine("//-->");
                writer.RenderEndTag();
            }

        }
    }
  • 相关阅读:
    四层架构设计实践
    看看node.js chat程序如何实现Ajax longpolling长链接刷新模式
    模仿igoogle【定制化、拖动排序,最大化、分屏】
    安装和配置Apache
    好书推荐《Pro ASP.NET MVC 3 Framework 3rd Edition》
    GAC和VS引用的程序集不一致?
    不要在 ASP.NET 4.5 Beta 的 Page 类事件上直接使用 async 与 await
    使用事务自动回滚来实现单元测试
    C# 如何异步查询数据库
    Linq + Jquery + Ajax 实现异步分页,批量删除,单个删除,全选,反选 ……
  • 原文地址:https://www.cnblogs.com/zhuor/p/282817.html
Copyright © 2011-2022 走看看