【问题标题】:jquery select change event on the same optionjquery在同一选项上选择更改事件
【发布时间】:2012-08-02 20:46:09
【问题描述】:

这是我的简单代码:

$(".test").change(function(){
    alert("user clicked");
});

<select class="test">
    <option value="1">test1</option>
    <option value="2">test2</option>
</select>

这一切都很简单且有效,但我希望不仅在用户更改选项时调用该函数,而且当他单击已选择的相同选项时,我尝试了 click 事件但它被触发了在用户点击任何选项之前,我该怎么办?

【问题讨论】:

  • 你的意思是你想让这个函数在选择有焦点时触发?
  • 如果点击处理程序中有警报,您将无法选择选项,您将失去焦点
  • @Musa 我没有警告框,这只是示例

标签: jquery


【解决方案1】:

在 chrome 中不起作用。

$(".test option").click(function(e){
    console.log('click');
});

更新了你的小提琴。

点击选项

编辑:看起来没有一堆工作是不可能的,比如使用点击选择并比较它被点击的位置或类似的东西。

我不确定最终目标是什么,但是如果您可以在他们最初点击选择时多做一次处理,那么点击选择可能会起作用。

another article on it:

【讨论】:

  • 对不起,我测试的时候不够彻底。这是有效的,但显然不受支持。
【解决方案2】:

如果您的意思是选择中只有一件事(就像我遇到的问题一样),您可以创建一个默认禁用选项,并将其设置为选中。这意味着如果你有一个选项,onchange 会触发,因为禁用的是之前选择的选项:

<option disabled selecte>Select an option</option>
<option> Only Option </option>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 2013-03-05
    • 2016-09-28
    • 2012-01-29
    • 2021-08-28
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    相关资源
    最近更新 更多