`
junper
  • 浏览: 14526 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

利用jquery右键菜单巧妙获取table的每行数据的id执行方法

阅读更多

今天想在table的表格上针对每行数据能进行右键菜单操作,根据不同的要求调用不同的方法,比如右键显示详细信息,修改之类的操作,但是jquery有点击右键的方法,但是没有获取每行数据,然后进行操作的方法。所以想了个折中的方法,在鼠标划入table的数据行的时候,触发事件,获取当前行的数据把它放到隐藏域中,然后再点击右键触发事件的时候,从隐藏域中获取参数,大致思路就是这样的

<html>

<head>
 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/Contents/themes/default/easyui.css">
 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/Contents/themes/icon.css">
 <script type="text/javascript" src="${pageContext.request.contextPath}/Contents/JS/jquery.js"></script>
 <script type="text/javascript" src="${pageContext.request.contextPath}/Contents/JS/jquery.easyui.min.js"></script>

<script type="text/javascript">

$(function() {
  $(document).bind('contextmenu',function(e){
    $('#mm').menu('show', {
     left: e.pageX,
     top: e.pageY
    });
    return false;
   });
 });
 function mouseoverevent(id){
  document.getElementById("eventid").value=id;
 }
 function getmouseevent(){
  var id=$("#eventid").val();
  alert(id);
 }

</script>

</head>

<body>

 <input id="eventid"name="eventid" type="hidden" value="" />

 

<table>

 <tr onmouseover="this.style.backgroundColor = '#F5F5F5'; mouseoverevent('id');" style="CURSOR: hand" 
        onmouseout="this.style.backgroundColor = ''"  bgColor=#FFFFFF>
        <td noWrap  >

 </td>

 </tr>

<table>

 

 <div id="mm" class="easyui-menu" style="width:120px;">
  <div onclick="getmouseevent();">获取事件</div>
 </div>

</body>

 

以下部分是转载

 

插件下载地址:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js
压缩版:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.packed.js

Jquery主页:   http://jquery.com/

插件中的参数说明:

Parameters
menu_id
The id of the menu as defined in your markup. You can bind one or more elements to a menu. Eg $("table td").contextMenu("myMenu") will bind the menu with id "myMenu" to all table cells. 
Note: This behaviour has changed from r1 where you needed a "#" before the id 

settings
ContextMenu takes an optional settings object that lets you style your menu and bind click handlers to each option. ContextMenu supports the following properties in the settings object: 

bindings 
An object containing "id":function pairs. The supplied function is the action to be performed when the associated item is clicked. The element that triggered the current menu is passed to this handler as the first parameter. 
Note: This behaviour has changed from r1 where you needed a "#" before the id 
menuStyle 
An object containing styleName:value pairs for styling the containing 
<ul> menu. 
itemStyle 
An object containing styleName:value pairs for styling the 
<li> elements. 
itemHoverStyle 
An object containing styleName:value pairs for styling the hover behaviour of 
<li> elements. 
shadow 
Boolean: display a basic drop shadow on the menu. 
Defaults to true 
eventPosX 
Allows you to define which click event is used to determine where to place the menu. There are possibly times (particularly in IE6) where you will need to set this to "clientX". 
Defaults to: 'pageX' 
eventPosY 
Allows you to define which click event is used to determine where to place the menu. There are possibly times (particularly in IE6) where you will need to set this to "clientY". 
Defaults to: 'pageY' 
onContextMenu(event) 
A custom event function which runs before the context menu is displayed. If the function returns false the menu is not displayed. This allows you to attach the context menu to a large block element (or the entire document) and then filter on right click whether or not the context menu should be shown. 
onShowMenu(event, menu) 
A custom event function which runs before the menu is displayed. It is passed a reference to the menu element and allows you to manipulate the output before the menu is shown. This allows you to hide/show options or anything else you can think of before showing the context menu to the user. This function must return the menu. 


通过此插件可以在不同的html元素内建立contextmenu,并且可以自定义样式.

<HTML>
 <HEAD>
  <TITLE> JQuery右键菜单 </TITLE>
  <script  src="jquery-1.2.6.min.js"></script>
  <script src="jquery.contextmenu.r2.js"></script>
 </HEAD>

 <BODY>
 <span class="demo1" style="color:green;">
    右键点此
 </span>
<hr />
<div id="demo2">
    右键点此
</div>
<hr />
<div class="demo3" id="dontShow">
  不显示
</div>
<hr />
<div class="demo3" id="showOne">
  显示第一项
</div>
<hr />
<div class="demo3" id="showAll">
  显示全部
</div>

<hr />
    <!--右键菜单的源-->
     <div class="contextMenu" id="myMenu1">
      <ul>
        <li id="open"><img src="folder.png" /> 打开</li>
        <li id="email"><img src="email.png" /> 邮件</li>
        <li id="save"><img src="disk.png" /> 保存</li>
        <li id="delete"><img src="cross.png" /> 关闭</li>
      </ul>
    </div>

    <div class="contextMenu" id="myMenu2">
        <ul>
          <li id="item_1">选项一</li>
          <li id="item_2">选项二</li>
          <li id="item_3">选项三</li>
          <li id="item_4">选项四</li>
        </ul>
   </div>
    
     <div class="contextMenu" id="myMenu3">
         <ul>
          <li id="item_1">csdn</li>
          <li id="item_2">javaeye</li>
          <li id="item_3">itpub</li>
        </ul>
    </div>
 </BODY>
 <script>
    //所有class为demo1的span标签都会绑定此右键菜单
     $('span.demo1').contextMenu('myMenu1', 
     {
          bindings: 
          {
            'open': function(t) {
              alert('Trigger was '+t.id+'\nAction was Open');
            },
            'email': function(t) {
              alert('Trigger was '+t.id+'\nAction was Email');
            },
            'save': function(t) {
              alert('Trigger was '+t.id+'\nAction was Save');
            },
            'delete': function(t) {
              alert('Trigger was '+t.id+'\nAction was Delete');
            }
          }

    });
    //所有html元素id为demo2的绑定此右键菜单
    $('#demo2').contextMenu('myMenu2', {
      //菜单样式
      menuStyle: {
        border: '2px solid #000'
      },
      //菜单项样式
      itemStyle: {
        fontFamily : 'verdana',
        backgroundColor : 'green',
        color: 'white',
        border: 'none',
        padding: '1px'

      },
      //菜单项鼠标放在上面样式
      itemHoverStyle: {
        color: 'blue',
        backgroundColor: 'red',
        border: 'none'
      },
      //事件    
      bindings: 
          {
            'item_1': function(t) {
              alert('Trigger was '+t.id+'\nAction was item_1');
            },
            'item_2': function(t) {
              alert('Trigger was '+t.id+'\nAction was item_2');
            },
            'item_3': function(t) {
              alert('Trigger was '+t.id+'\nAction was item_3');
            },
            'item_4': function(t) {
              alert('Trigger was '+t.id+'\nAction was item_4');
            }
          }
    });
    //所有div标签class为demo3的绑定此右键菜单
    $('div.demo3').contextMenu('myMenu3', {
    //重写onContextMenu和onShowMenu事件
      onContextMenu: function(e) {
        if ($(e.target).attr('id') == 'dontShow') return false;
        else return true;
      },

      onShowMenu: function(e, menu) {
        if ($(e.target).attr('id') == 'showOne') {
          $('#item_2, #item_3', menu).remove();
        }
        return menu;
      }

    });



 </script>
</HTML>

 

分享到:
评论

相关推荐

    jquery 右键菜单功能

    本文将深入探讨如何利用jQuery实现右键菜单功能,包括新增菜单、修改菜单、删除菜单以及各种样式的显示方式。 **一、理解jQuery右键菜单的基本原理** jQuery右键菜单功能主要是通过监听鼠标右键点击事件(`...

    jquery右键菜单实现

    而"jQuery右键菜单实现"是一个常见的需求,它允许用户在网页元素上右击鼠标时弹出一个自定义的菜单,提供额外的功能或选项。这个功能通常通过jQuery插件来实现,例如`jQuery contextMenu`。 `jQuery contextMenu`是...

    jquery右键菜单插件

    **jQuery 右键菜单插件详解** 在网页开发中,右键菜单通常用于提供额外的操作选项,例如在图片上右键点击出现“保存图片”或“复制链接地址”等。`jQuery contextmenu` 插件就是这样一个工具,它允许开发者轻松创建...

    Jquery右键菜单插件ContextJS

    **jQuery右键菜单插件ContextJS详解** 在网页开发中,右键菜单通常是增强用户体验的一种常见功能,它能提供快捷的操作选项。`ContextJS`是一个专门为jQuery设计的右键菜单插件,允许开发者轻松地为网页元素添加...

    JQuery简单右键菜单

    本文将深入探讨如何使用jQuery来创建一个简单的右键菜单,这在许多网页应用中是一个常见的需求。 一、jQuery基础 在开始创建右键菜单之前,我们需要了解jQuery的基本用法。jQuery通过选择器选取DOM元素,然后对这些...

    jquery右键菜单

    本篇文章将详细讲解如何利用jQuery实现一个右键菜单功能。 一、jQuery概述 jQuery是由John Resig在2006年创建的,它的核心理念是“Write Less, Do More”。通过提供简洁的API,jQuery使得开发者可以快速地操作DOM...

    jQuery右键美化菜单特效.zip

    在这个“jQuery右键美化菜单特效.zip”压缩包中,包含了一个使用jQuery实现的右键菜单美化功能。这个功能对于提升用户体验,尤其是为鼠标右键点击事件提供定制化、美观的反馈,具有重要意义。 首先,我们要了解...

    jQuery实现右键菜单源码

    在实现右键菜单的过程中,我们主要会用到以下jQuery方法: 1. `$(document).on('contextmenu', selector, handler)`:这个方法用于监听右键点击事件。`contextmenu`是事件类型,对应鼠标右键被按下;`selector`是...

    jquery 右键弹出菜单

    在IT领域,jQuery是一款广泛...总结来说,实现"jquery 右键弹出菜单"功能,关键在于利用jQuery的事件处理、DOM操作以及CSS定位。通过结合这些技术,我们可以创建一个用户友好的交互式菜单,提升网站或应用的用户体验。

    超实用jQuery右键菜单 可自定义菜单弹出区域

    关于右键菜单,我们介绍得并不多,目前只有介绍过一款jQuery Bootstrap右键菜单 带点击菜单...今天要继续为大家分享一款高大上的jQuery右键菜单,这款右键菜单可以让使用者自定义菜单弹出的区域,因此非常灵活和实用。

    jquery右键菜单123456

    在本实例中,我们关注的是"jquery右键菜单123456",这是一个利用jQuery实现的右键菜单功能。在网页应用中,右键菜单通常用于提供额外的操作选项,比如在网页上进行搜索、复制或保存内容等,这为用户提供了更便捷的...

    基于jquery的网页右键菜单设置,js多级菜单

    总之,基于jQuery的网页右键菜单设置是一种增强网页交互性的有效方法。通过使用`jquery-contextmenu`插件,我们可以轻松实现多级菜单,提供丰富的用户操作选项。这不仅提高了用户的工作效率,也提升了网页的整体品质...

    JQUERY 右键菜单操作

    本篇将详细介绍如何利用jQuery来创建和操作右键菜单。 首先,`ContextMenu`是一个用于响应鼠标右键点击事件的功能,通常会显示一个弹出式菜单,包含一组可选操作。通过jQuery,我们可以便捷地绑定事件监听器,监听...

    右键菜单 jquery 易于修改

    本项目"右键菜单 jQuery 易于修改"专注于利用jQuery库来实现一个可定制化的右键菜单系统。下面将详细阐述这个系统的实现原理和关键知识点。 首先,jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理...

    jquery-contextMenu右键(左键)菜单插件

    如果菜单项需要动态获取,可以使用`build`函数中的`$.ajax`或其他异步方法。在数据返回后,调用`this.build(menu)`构建菜单。 七、菜单分组与子菜单 通过`items`属性,可以创建包含子菜单的分组。例如: ```...

    jQuery右键自定义菜单.zip

    每个菜单项可以是一个`&lt;li&gt;`元素,通过CSS进行美化,并通过jQuery添加事件处理,例如链接跳转、执行函数等。此外,我们还需要处理菜单的定位问题,确保菜单出现在鼠标点击的位置附近。这通常通过计算鼠标坐标并设置...

    仿Key社游戏风格jQuery右键菜单

    GalMenu.js实现了这一设计,通过jQuery的事件监听和DOM操作,当用户在页面上右键点击时,会出现一个动画效果丰富的圆形菜单,这种设计不仅美观,还能帮助用户快速识别和使用菜单选项。 **动画效果** GalMenu.js的...

    Jquery 右键菜单插件、css样式

    通过 `jquery-1.4.2.js` 引入 jQuery 库,利用 `contextmenufunction.js` 处理事件和逻辑,借助 `jquery.contextmenu.css` 设计菜单样式,最后借助可能的 `jquery.contextmenu.js` 插件简化实现过程。这样的组合让...

Global site tag (gtag.js) - Google Analytics