【问题标题】:Run javascript function on click dropdown menu在单击下拉菜单上运行 javascript 函数
【发布时间】:2021-12-30 07:25:55
【问题描述】:

如何在 HTML 页面中仅在选择下拉菜单时才在其中选择任何选项之前运行 javascript 函数。我在单击下拉菜单时运行查询,如下所示:

$("#_id").click(function () {

然后,当我在同一个下拉菜单中选择某些内容时,脚本会再次运行。单击下拉菜单并选择选项时。选择某物时如何防止再次运行?

【问题讨论】:

  • 用例是什么。我们更喜欢下拉菜单,而不是仅在我们更改它们时才执行操作
  • 确保点击的元素是你所期望的?
  • 我更改了其他字段的数据。问题是,我不想更改该字段,除非我单击它。该下拉列表中的数据取决于其他字段,但它们不会导致它发生变化。
  • 听起来你有一些不受欢迎的事件冒泡。菜单选项上的点击事件冒泡到菜单,因此两个点击处理程序都被执行。查看Event.stopPropagation 方法。你应该在你的选项点击处理程序中调用它。

标签: javascript jquery dom click dropdown


【解决方案1】:

用例是什么?我们更喜欢下拉菜单,而不是仅在我们更改它们时才执行操作

回答:

点击前鼠标按下触发

按住鼠标可以看到鼠标按下,松开可以看到点击

$("#_id").on("click",function() { console.log("clicked")});
$("#_id").on("mousedown",function() { console.log("mousedown")});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<select id="_id">
<option value="">Please select</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>

【讨论】:

  • 太棒了!像魅力一样工作!
猜你喜欢
  • 1970-01-01
  • 2019-04-18
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多