jQuery UI 如何启用菜单

jQuery UI 如何启用菜单

jQuery是一个快速简单的JavaScript库,用于通过HTML创建客户端。它简化了一些JavaScript函数的使用,如DOM操作、遍历、事件处理和AJAX调用。它还具有跨浏览器兼容性。

什么是jQuery UI菜单

jQuery UI菜单是构建在jQuery UI核心上的组件,用于创建下拉菜单和其他导航菜单选项。这些菜单可以通过鼠标指针和键盘点击访问。它还允许开发人员创建菜单并应用自定义样式和主题。这些菜单包括包含菜单和子菜单的分层菜单。

一些jQuey UI菜单的重要特性:

  • 事件和回调函数 : jQuery UI菜单允许开发人员处理用户交互并自定义菜单的行为,它支持广泛的事件和回调函数,如失去焦点、创建、聚焦和选择等。

  • 键盘导航 : 这允许用户通过键盘的箭头键导航菜单,按下Enter/Space可以打开/触发菜单项的操作。同时按下Esc键可以关闭当前菜单/子菜单。

方法1:使用menu()方法

使用jQuery UI菜单小部件的.menu()方法来启用jQuery UI菜单,以及<ul><li>项。

步骤

步骤1: 创建一个HTML文件,在<head>标签中引入jQuery和jQuery UI库。然后使用<ul><li>创建列表项。

步骤2: 给列表项分配一个id。

步骤3: 现在在<script>标签内,使用menu()方法初始化菜单项。这必须在DOM加载后进行,并在ready()函数内包装初始化代码,以确保在页面加载后运行。

示例

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery UI Menu</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script>
      (document).ready(function() {("#items").menu();
      });
    </script>

</head>
<body>
    <div style="text-align: center;">
        <h2>Tutorials Point Menu Items</h2>
        <ul id="items">
          <li>Item 1</li>
          <li>Item 2</li>
          <li>Item 3</li>
      </ul>
    </div>
</body>
</html>

方法2:使用data-widget属性和menu()方法。

另一种可行的技术是在jQuery UI内使用data-widget属性和menu()函数。该属性用于识别HTML元素,并使用该函数进行初始化。

步骤

步骤1: 在HTML文件的<head>部分导入jQuery和jQuery UI库和脚本。

步骤2: 添加<ul><li>元素来创建列表项,然后给<ul>标签添加一个唯一的id。

步骤3:‘data-widget’属性设置为顶级<ul>标签,并将<ul>元素的值设置为“menu”

步骤4:<script>标签中,选择“data-widget”属性,并使用menu()方法启用UI菜单。

示例

<!DOCTYPE html>
<html>
<head>
    <title>jQuery UI Menu Example</title>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <script>
        (document).ready(function() {("[data-widget='menu']").menu({
        position: { my: "left top", at: "right top" }
      });
        });
    </script>
     <style>
        .ui-menu {
            width: 8em;
        }
    </style>
</head>

<body style="text-align: center;">

    <h2>Tutorials Point Menu Items</h2>
    <ul data-widget="menu">

        <li>Courses</li>
        <li>
            <div>Programming</div>
            <ul>
                <li>
                    <div>Python</div>
                </li>
                <li>
                    <div>Java</div>
                </li>
                <li>
                    <div>Javascript</div>
                </li>
                <li>
                    <div>C++</div>
                </li>
            </ul>
        </li>

        <li>
            <div>Web</div>
            <ul>
                <li>
                    <div>Backend</div>
                    <ul>
                        <li>
                            <div>Node.js</div>
                        </li>
                    </ul>
                </li>
                <li>
                    <div>Frontend</div>
                </li>
            </ul>
        </li>

        <li>
            <div>Mobile</div>
        </li>
    </ul>

</body>
</html>

方法3:使用 each() 方法

为了增强 jQuery UI 菜单,一种替代技术是利用 each() 函数。这样可以通过遍历各个菜单元素,随后执行 .menu() 操作。

步骤

步骤 1:<head> 标签中引入 jQuery 和 jQuery UI 库。

步骤 2: 为最顶层的 <ul> 标签添加一个唯一的 id 名称。

步骤 3: 使用 each() 方法迭代每个具有 menu 类的元素,然后调用 .menu() 方法。

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery UI Menu</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
    <script>
      (document).ready(function() {(".menu").each(function() {
              $(this).menu();
          });
      });


  </script>

</head>
<body>
  <div style="text-align: center;">

    <h2>Tutorials Point Menu Items</h2>
    <ul class="menu">
        <li><a href="#">Menu Item 1</a></li>
        <li><a href="#">Menu Item 2</a>
          <ul>
            <li><a href="#">Submenu Item 1</a></li>
            <li><a href="#">Submenu Item 2</a></li>
            <li><a href="#">Submenu Item 3</a></li>
          </ul>
        </li>
        <li><a href="#">Menu Item 3</a></li>
    </ul>

    <ul class="menu">
        <li><a href="#">Menu Item A</a></li>
        <li><a href="#">Menu Item B</a>
          <ul>
            <li><a href="#">Submenu Item X</a></li>
            <li><a href="#">Submenu Item Y</a></li>
            <li><a href="#">Submenu Item Z</a></li>
          </ul>
        </li>
        <li><a href="#">Menu Item C</a></li>
    </ul>

</div>
</body>
</html>

结论

上述三种方法可以用于启用 jQuery UI 菜单。您可以使用其中任何一种方法,但最简单的是使用 menu() 方法,这样可以更加自定义地使用 CSS 样式。这些菜单项可以与折叠、聚焦、失焦等事件和方法一起使用,使这些菜单项更具交互性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程