javascript - 将静态内容插入 jQuery UI 菜单小部件

标签 javascript jquery html css jquery-ui

我需要在 jQuery UI 菜单中显示静态内容(文本和图像,真正的任意 HTML)。这不是菜单项。它不应是可点击的或参与任何其他菜单行为。

我发现添加类 ui-state-disabled 会禁用该元素,但有两个缺点:

  1. 它仍然可以点击(导致菜单消失)。
  2. 它会导致应用我需要撤消的样式。

有什么想法吗?

Here's a demo of the issue.我可以将“内容”添加到菜单中,但它看起来并没有改变。

最佳答案

我不得不把你的帖子通读几遍。要显示未被视为菜单项的内容,您可以调整 items 选项以排除某些内容。

工作示例:http://jsfiddle.net/Twisty/oy1qpfxL/3/

HTML

<ul id="menu" style="width: 200px;">
  <li class="ui-state-disabled">
    <div>Toys (n/a)</div>
  </li>
  <li>
    <div>Books</div>
  </li>
  <li>
    <div>Clothing</div>
  </li>
  <li class="disabled">
    <div class="no-click">
      <button>
        x
      </button>
      <img src="https://jqueryui.com/jquery-wp-content/themes/jquery/images/logo-jquery-ui.png" />
    </div>
  </li>
  <li>
    <div>Electronics</div>
    <ul>
      <li class="ui-state-disabled">
        <div>Home Entertainment</div>
      </li>
      <li>
        <div>Car Hifi</div>
      </li>
      <li>
        <div>Utilities</div>
      </li>
    </ul>
  </li>
  <li>
    <div>Movies</div>
  </li>
  <li>
    <div>Music</div>
    <ul>
      <li>
        <div>Rock</div>
        <ul>
          <li>
            <div>Alternative</div>
          </li>
          <li>
            <div>Classic</div>
          </li>
        </ul>
      </li>
      <li>
        <div>Jazz</div>
        <ul>
          <li>
            <div>Freejazz</div>
          </li>
          <li>
            <div>Big Band</div>
          </li>
          <li>
            <div>Modern</div>
          </li>
        </ul>
      </li>
      <li>
        <div>Pop</div>
      </li>
    </ul>
  </li>
  <li class="ui-state-disabled">
    <div>Specials (n/a)</div>
  </li>
</ul>

JavaScript

$("#menu").menu({
  items: "> li:not(.disabled)"
});

因此,这不会破坏 UI,并允许您在列表中拥有可以使用 HTML 的部分。另一种方法是向 all 添加一个类并将其设置为 items

关于javascript - 将静态内容插入 jQuery UI 菜单小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42932736/

相关文章:

javascript - Django 模板中的 Mustache.js 不起作用

javascript - 在javascript中以相同的顺序打乱两个数组

javascript - 如何在同一网页上使用 JavaScript 和 HTML 在文本框中显示手动输入的字符串值?

javascript - 如何在弹出窗口中添加下一个上一个按钮?

javascript - 无法在 JavaScript 中正确将 JSON 转换为 XML

php - 使用 $.ajax() 响应 if else 语句

javascript - 如何在 DOM 中不附加此图像的情况下获取 img 高度?

javascript - document.ready 中的函数将不起作用

javascript - P 标签没有更新

javascript - 通过单击灯箱中的单选按钮将内容添加到 tinymce