【问题标题】:Fire change() event even when selection hasn't changed [duplicate]即使选择没有改变,也会触发 change() 事件[重复]
【发布时间】:2017-02-27 11:33:52
【问题描述】:

我想覆盖 HTML select 元素的一般行为,即使选择的选项没有更改,它也会触发更改事件。

$('select').change(function() {
  alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

我怎样才能做到这一点?

【问题讨论】:

  • 我希望即使选择了相同的选项也能触发下面的更改事件处理程序
  • 将值存储在第一个选择中,将旧值与新选择中的新值进行比较
  • @I'mBlueDaBaDee 存储或执行事件处理程序应在选择相同选项时触发的操作

标签: javascript jquery html


【解决方案1】:

你可以这样尝试:-

HTML:

<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select> 

JS:

$("select").mouseup(function() {
    var flag = $(this).data("flag");
        var cur_val = $(this).val();
    if(flag) {
        alert(cur_val);
    }
    $(this).data("flag", !flag);
});

这里正在工作jsfiddle。

试一试,应该可以的。

【讨论】:

  • @rahul_m 谢谢,这是工作
  • 您最欢迎的伙伴!
  • @rahul_m 虽然我仍在寻找一个标准的解决方案
  • 没有这样的事件或标准解决方案,你会得到纯 jquery 事件或其他东西
猜你喜欢
  • 1970-01-01
  • 2015-11-03
  • 2018-03-05
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多