javascript - 即使选择没有改变,也会触发 change() 事件

标签 javascript jquery html

<分区>

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

$('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>

我怎样才能做到这一点?

最佳答案

你可以这样尝试:-

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 .

试一试,这应该有效。

关于javascript - 即使选择没有改变,也会触发 change() 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42484758/

相关文章:

php - 正确打印网站

html - 内联 block 和 float 宽度/包装表现不同?

javascript - 当我运行单个测试或测试套件时,是否有任何方法可以将 WebStorm 配置为不创建新的运行/调试配置?

JavaScript 删除未知监听器

javascript - 在 ANTLR4 中使用访问者的正确方法(javascript 目标)

javascript - 将 jQuery/AJAX 与 JSONP 结合使用时无响应

javascript - 如何将拖放结果存储为图像

javascript - 了解在 Canvas 弧中为端点完成的数学运算

php - 试图在保留 CSS 值的同时使用定位放置打印出 DIV 的内容?

javascript - 为什么 JSBin 不显示闭包,而 JSFiddle 对于相同的代码却显示闭包?