SlickGrid example 7:鼠标事件

响应鼠标事件,可以左键快捷选择切换选项,可右键弹出菜单栏。

代码:

<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>SlickGrid example 7: Events</title>
  <link rel="stylesheet" href="../slick.grid.css" type="text/css"/>
  <link rel="stylesheet" href="../css/smoothness/jquery-ui-1.8.16.custom.css" type="text/css"/>
  <link rel="stylesheet" href="examples.css" type="text/css"/>
  <style>
    .cell-title {
      font-weight: bold;
    }

    #contextMenu {
      background: #e1efc7;
      border: 1px solid gray;
      padding: 2px;
      display: inline-block;
      min-width: 100px;
      -moz-box-shadow: 2px 2px 2px silver;
      -webkit-box-shadow: 2px 2px 2px silver;
      z-index: 99999;
    }

    #contextMenu li {
      padding: 4px 4px 4px 14px;
      list-style: none;
      cursor: pointer;
      background: url("../images/arrow_right_peppermint.png") no-repeat center left;
    }

    #contextMenu li:hover {
      background-color: white;
    }
  </style>
</head>
<body>
<table width="100%">
  <tr>
    <td valign="top" width="50%">
      <div id="myGrid" style="width:600px;height:500px;"></div>
    </td>
    <td valign="top">
      <h2>Demonstrates:</h2>
      <ul>
        <li>handling events from the grid:</li>
        <li>Right-click the row to open the context menu</li>
        <li>Click the priority cell to toggle values</li>
      </ul>
    </td>
  </tr>
</table>
<ul id="contextMenu" style="display:none;position:absolute">
  <b>Set priority:</b>
  <li data="Low">Low</li>
  <li data="Medium">Medium</li>
  <li data="High">High</li>
</ul>

<script src="../lib/firebugx.js"></script>

<script src="../lib/jquery-1.7.min.js"></script>
<script src="../lib/jquery-ui-1.8.16.custom.min.js"></script>
<script src="../lib/jquery.event.drag-2.0.min.js"></script>

<script src="../slick.core.js"></script>
<script src="../slick.editors.js"></script>
<script src="../slick.grid.js"></script>

<script>
  var grid;
  var data = [];
  var columns = [
    {id: "title", name: "Title", field: "title", width: 200, cssClass: "cell-title", editor: Slick.Editors.Text},
    {id: "priority", name: "Priority", field: "priority", width: 80, selectable: false, resizable: false}
  ];

  var options = {
    editable: true,
    enableAddRow: false,
    enableCellNavigation: true,
    asyncEditorLoading: false,
    rowHeight: 30
  };

  $(function () {
    for (var i = 0; i < 100; i++) {
      var d = (data[i] = {});
      d["title"] = "Task " + i;
      d["priority"] = "Medium";
    }

    grid = new Slick.Grid("#myGrid", data, columns, options);

    grid.onContextMenu.subscribe(function (e) {
      e.preventDefault();
      var cell = grid.getCellFromEvent(e);
      $("#contextMenu")
          .data("row", cell.row)
          .css("top", e.pageY)
          .css("left", e.pageX)
          .show();

      $("body").one("click", function () {
        $("#contextMenu").hide();
      });
    });

    grid.onClick.subscribe(function (e) {
      var cell = grid.getCellFromEvent(e);
      if (grid.getColumns()[cell.cell].id == "priority") {
        var states = { "Low": "Medium", "Medium": "High", "High": "Low" };
        data[cell.row].priority = states[data[cell.row].priority];
        grid.updateRow(cell.row);
        e.stopPropagation();
      }
    });
  });

  $("#contextMenu").click(function (e) {
    if (!$(e.target).is("li")) {
      return;
    }

    var row = $(this).data("row");
    data[row].priority = $(e.target).attr("data");
    grid.updateRow(row);
  });
</script>
</body>
</html>
时间: 2024-10-10 07:35:24

SlickGrid example 7:鼠标事件的相关文章

网站开发div在Jquery中的鼠标事件失去焦点

网站div在Jquery中的鼠标事件失去焦点,今天在做网站开发的时候遇到了个问题,就是我在用Jquery做导航的时候,用到了Jquery的鼠标事件mouseout,但问题出来了,我有两个div,A的div包含了B的div,本来我是想当鼠标移出A的div的时候隐藏div,可是当我的鼠标移到B的div在移出的时候也会触发jquery的隐藏事件,这让人很头痛. 在网上搜了下,找到了解决的法子,就是直接把mouseout换成了mouseleave就可以了,具体的问题请大家参考Jquery的开发文档吧

selenium python (三)鼠标事件

# -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括:context_click()  右击:                        # double_click() 双击:                        # drag_and_drop() 拖动:                        # move_to_element()鼠标悬停在一个元素上:                        # click_and_hold

javascript基础——鼠标事件,系统对话框等

1.鼠标事件 (1).onclick:用户点击鼠标左键,以及当焦点在一个按钮上时,用户按Enter键时,发生onclick事件 (2).ondblclick:用户双击鼠标左键时,发生ondblclick事件 (3).onmousedown:用户按下任意鼠标按钮的时候,发生onmousedown事件 (4).onmouseout:当光标在一个元素上,并且用户将其移出元素边界时,发生onmouseout事件 (5).onmouseover:当光标在一个元素之外,并且用户将移动到该元素上时,发生onm

基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: 要实现以上的功能,需要几个对象: 事件分派器:EventDispatcher,负责将 BaseEvent 分派给 EventListener 对象 事件监听器:EventListener,这只是一个接口类,接受 BaseEvent 的对象,真正的处理在它的子类中实现 事件:BaseEvent,储存

JQuery 鼠标事件简介

mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,mouseout事件于用户把鼠标移出一个元素时触发. 下面为你详细介绍下jquery中的鼠标事件: (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发: $('p').click(function(){ alert('click function is running !'); }); (2):dblclick:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于

jQuery事件之鼠标事件

鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的.   (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发.        $('p').click(function(){                alert('click function is running !');              });    (2):dbclick事件:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于操作系统的设置.一般双击事件

JavaScript 鼠标事件

鼠标事件是Web开发中最常用的一类事件. DOM3级事件中定义了9个鼠标事件,分别如下: click.dbclick.mousedown.mouseenter.mouseleave.mousemove.mouseover.mouseout.mouseup. click:在用户单击鼠标按钮时,或者按下回车键时触发.这点对确保易访问性很重要,意味着onclick时间处理程序既可以通过键盘也可以通过鼠标执行.

JavaScript的事件对象_鼠标事件

鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备.那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等. 一.鼠标按钮 只有在主鼠标按钮被单击时(常规一般是鼠标左键)才会触发 click 事件,因此检测按钮的信息并不是必要的. 但对于 mousedown 和 mouseup 事件来说,则在其 event 对象存在一个 button 属性,表示按下或释放按钮. <script type="text/javascript"> window.onload

Extjs 窗体居中,双重窗体弹出时清除父窗体的鼠标事件

这个是监控窗体缩放的事件 缩放中居中主要在 'beforeshow' 和 'destroy'两个事件里面监控 var EditTempWindow; Ext.EventManager.onWindowResize(function() { if (EditTempWindow) { EditTempWindow.center() } }); Ext.define("Define.Class.EditWindow", { id: 'RoomEditWin', xtype: 'window