【发布时间】:2021-10-07 13:23:25
【问题描述】:
我正在尝试在 mouseenter 上显示引导下拉菜单。这没问题,只需要一些jquery,比如:
$('.dropdown-toggle').on('mouseenter', function () {
$('.dropdown-toggle').dropdown('toggle')
});
我需要的是例如 div 分为两个部分。在每个部分中都会有指向某些内容的链接(使用 Nette 框架,因此会有指向特定操作和演示者的链接)。 但我无法实现。如果下拉菜单有效,则链接无效。
结构应该是这样的:
<div class="dropdown-toggle" data-toggle="dropdown">
<div>
<a href="{plink :User:Dashboard:default, 'userId' => $user->getId()}">
<span class="text-white"><i class="fa fa-user"></i> {$userData["user"]["name"]}</span>
</a>
</div>
<div>
<a href="{plink :Account:Edit:default}">
<i class="fa fa-plus-square text-white btn-xs"></i><span class="text-warning"> {_}Není nastaven aktivní účet{/_}</span>
</a>
</div>
</div>
找到了一些技巧,使用 data-target 属性,但不知道具体如何。 https://getbootstrap.com/
编辑: jQuery:
$('.dropdown-toggle').on('mouseenter', function () {
$(this).dropdown('toggle');
$('.dropdown-toggle>div>a').on('click', function () {
location.href = $(this).attr('href');
});
});
$('.dropdown').on('mouseleave', function () {
$('.dropdown-toggle').dropdown('toggle');
});
结构:
<button class="dropdown-toggle" data-toggle="dropdown">
<div>
<a href="{plink :User:Dashboard:default, 'userId' => $user->getId()}">
<span class="text-white"><i class="fa fa-user"></i> {$userData["user"]["name"]}</span>
</a>
</div>
<div>
<a href="{plink :Account:Edit:default}">
<i class="fa fa-plus-square text-white btn-xs"></i><span class="text-warning"> {_}Není nastaven aktivní účet{/_}</span>
</a>
</div>
</button>
【问题讨论】:
-
所以我以某种方式做到了。我将两个 div 包裹在
<button class="btn btn-link dropdown-toggle" data-toggle="dropdown"></button>中。添加了“btn”和“btn-link”类,所以它看起来很正常,而不是像按钮。并像这样更新 jquery 代码$('.dropdown-toggle').on('mouseenter', function () { $(this).dropdown('toggle'); $('.dropdown-toggle>div>a').on('click', function () { location.href = $(this).attr('href'); }); }); $('.dropdown').on('mouseleave', function () { $('.dropdown-toggle').dropdown('toggle'); }); -
好的,所以你确实采用了丑陋的解决方案。您使用的是 location.href,而不是 window.open。大声笑
标签: html jquery dropdown nette