javascript - JSTree - 添加 Action 重定向

标签 javascript jquery css jstree

我在使用 JSTree ( https://www.jstree.com/) 时遇到了一点问题。

为简化起见,我有一棵元素树,我想在每个列出的元素名称前放置一个 Action (使用 fontawesome 转到元素的 Action ),我已经知道如何使用 JS 进行重定向,但是JSTree 不允许我在我的树上插入这个 Action 。

以视觉方式,我需要做类似的事情:

  • (图标-箭头-操作)名称
  • (图标-箭头-操作)名称 2
    • (图标-箭头-操作)名称 3

我正在做这样的事情:

(HTML)

<div id="jstree_projects">
  <ul>
    <li data-jstree='{"opened":true}'>
      <i class="fa fa-arrow-right fa-fw redirect_project"
         data-url="<?= site_url('ON CLICK THIS ACTION, REDIRECT TO THIS URL'); ?>">
      </i>
      PROJECT NAME
      <ul>
        <li data-jstree='{"opened":true}'>
          <i class="fa fa-arrow-right fa-fw redirect_project"
             data-url="<?= site_url('ON CLICK THIS ACTION, REDIRECT TO THIS URL'); ?>">
          </i>
          PROJECT NAME 2
        </li>
      </ul>
    </li>
  </ul>
</div>

(CSS)

#jstree_projects{
  margin-top: 20px;
  width: 100%;
  overflow-x: auto;
}
.redirect_project{
  color: yellow;
  margin-right: 10px;
}

(JS)

$('#jstree_projects').jstree();

如果有人可以帮助我,我将不胜感激。

最佳答案

您可以使用 select_node.jstree事件。它将为您提供选定的 node对象及其相关数据。此外,您可以检查它是否是列表中具有属性 children: [] 的最后一项。 .

我已经为你创建了一个jsFiddle,点击here . 我所做的唯一更改是移动 data-url属性为 <li>标签。

关于javascript - JSTree - 添加 Action 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48387085/

相关文章:

javascript - 仅在第二次单击时才会检查暗模式复选框输入

javascript - 如何正确地在中间停止动画

javascript - 如何在 JSON.parsed responseText 上保留 hasOwnProperty?

javascript - 如何用javascript模仿html BR标签

javascript - 尝试在我的无序列表框 jQuery 中打印消息

javascript - getCompatedStyle 属性值

javascript - 可以用 Chrome 欺骗用户代理和操作系统吗?

jquery - Phonegap 使用 Phonegap Build 构建的应用程序在 iOS 上出现错误警报

jquery - 如何使用 jquery 在 HTML/CSS 中选择展开的文本?

jquery - 如何在owl-carousel中在移动设备上显示单个图像?