是否可以在单击 html 未显示列表中的项目标记时触发事件
Can an event be triggered on a click on a item marker on an html unoredered list?
当用户单击无序列表中项目的图标时,有没有办法触发操作?(在JavaScript和/或jquery中)
是的,如果您愿意,可以只定位列表项标记,但这需要将每个项目的内容包装在另一个标记中。
这是因为将事件处理程序分配给 <li>
元素时,该元素或任何子元素将触发该处理程序。然后在处理程序中,您可以检查nodeName
它会告诉您<li>
是否已单击或是否是子元素。由于所有内容都由<span>
或<div>
包装,因此只有列表项标记会触发目标为<li>
的事件。
以下可运行示例仅在单击列表项标记时触发警报,否则将忽略单击事件。
$("li").on('click', function(e) {
if (e.target.nodeName === "LI") {
alert('You clicked the list item marker');
} else {
e.preventDefault(); //a child element was clicked
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li><span>One</span></li>
<li><span>Two</span></li>
<li><span>Three</span></li>
</ul>
好吧,很难猜测你想要没有你的代码和标记,但你可以尝试这样的事情。
.HTML
<ul>
<li>
<a href="" class="icon"></a>
<a href="" class="icon"></a>
<a href="" class="icon"></a>
</li>
</ul>
.JS
$(function() {
$('a.icon').on('click', function(){
//your code here...
});
});
- 我不知道你的"图标"是什么 html 标签,但这个方案适用于你尝试的任何东西,只需替换你的元素的
<a>
并向其添加类icon
是的...使用 JQUERY。
<ul>
<li>
<a href="" class="item">Item1</a>
<a href="" class="item">Item2</a>
</li>
<ul>
然后在你的JavaScript中使用:
$(".item").click(function() {
var itemIcon = $(this);
// itemIcon contains the icon that was clicked. Do something with it...
});
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 离子项目中的多个触摸目标
- 当目标处于顶部滚动状态时,如何从菜单中激活项目
- 有没有一种方法可以根据包含整数的最接近属性来确定项目的目标
- 射击目标:单击鼠标->保留项目符号Hole.gif
- 选择2 -清除所有不工作的项目时,目标的职业
- 更改具有不同宽度的项目目标
- Humble Haxe,在非 haxe 友好的目标项目中自动合并 haxe 的方法