javascript - 使用 jQuery 区分接收 HTML 事件的节点

标签 javascript html jquery css jquery-events

我想要一个下拉菜单来实现特定的输入。但是内置的选择对我来说并不好看。所以我尝试用列表来实现它。我在这方面取得了部分成功。当我单击文本字段时,通过从文本字段向下滑动来显示列表,而当单击列表时,通过向上滑动来关闭列表。幻灯片动画是使用 jQuery 完成的。

点击任何 <li>元素值在字段中设置。单击其他任何地方都会关闭列表。 但是现在,当列表显示在一个按钮上时,当我点击列表时,它认为这是对按钮的点击,并且只是关闭了列表。

当列表显示时,如何告诉浏览器点击列表而不是点击按钮?

屏幕截图应该给出一个合理的想法:单击所有其他列表项都可以正常工作,但按钮上方的列表项不起作用。在屏幕截图中,单击列表项杂项不起作用:

enter image description here

最佳答案

您可以使用 event.stoppropagation .

$("#PopuListId").click(function(event){
  event.stopPropagation();
  // do rest of the things
});  

关于javascript - 使用 jQuery 区分接收 HTML 事件的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21672437/

相关文章:

javascript - 什么时候应该添加事件监听器?

html - 固定导航与下拉

jquery - Fullcalendar-如何划掉并显示已完成的任务

javascript - 加载页面时打开 Bootstrap 菜单

javascript - php javascript 拖放

javascript - 传递 Promise 回调方法的更好方法

javascript - 创建一个链接 html 并使用 jQuery 执行操作?

javascript - Vue 3 - 发出不是一个函数

html - 跨度内的 CSS 样式异常?

javascript - HTML 解析错误