我的html中有一个锚元素:
<a class="info-tiles tiles-inverse has-footer" href="somepage.html?id=15">
<div class="tiles-heading">
<div class="pull-left">IT Department - Hosting environment</div>
</div>
<div class="tiles-body">
<div class="nav-justified" style="font-size: small;">Started: 19-05-2015 07:00</div>
<div class="btn btn-sm btn-default pull-right">AE</div>
<div class="btn btn-sm btn-default pull-right">PJ</div>
<div class="btn btn-sm btn-default pull-right">SL</div>
</div>
<div class="tiles-footer">
<div class="progress">
<div class="progress-bar progress-bar-info" style="width: 20%"></div>
</div>
</div>
</a>
这段代码如下所示:
一般而言,这种行为还可以,单击该锚点中的任何位置都应将我定向到另一页,但是我希望能够单击那些浅灰色的[SL] [PL] [AE]并显示上下文菜单对于那些。什么是更改此行为的干净方法,以便我仍然可以单击任意位置以导航到somepage.html,除非单击这些图块,否则不应进行导航,而是触发javascript函数(然后将显示一些上下文菜单)?
如果使用jQuery,则可能要采用这种方法:
$(".btn.btn-sm.pull-right").on("click", function(e) {
e.stopPropagation();
$(this).find(".context-menu").toggle();
e.preventDefault();
return false;
});
然后,您需要写一个
<div class="context-menu">
<ul>
<li>Element</li>
</ul>
</div>
并使用基本的CSS对其进行样式设置。
编辑:为了支持IE的旧版本,您还可以在e.stopPropagation()之后添加它;
event.cancelBubble = true;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句