Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML选择更改事件在滚动条上触发当选择标记具有大小属性时在Chrome中单击_Javascript_Html_Google Chrome_Select - Fatal编程技术网

Javascript HTML选择更改事件在滚动条上触发当选择标记具有大小属性时在Chrome中单击

Javascript HTML选择更改事件在滚动条上触发当选择标记具有大小属性时在Chrome中单击,javascript,html,google-chrome,select,Javascript,Html,Google Chrome,Select,我有一个带有大小属性的简单选择框,我想在函数值更改时调用它。 因此,我向select标记添加了一个onchange事件: <select onchange="alert(this.options[this.selectedIndex].value);" size="6" id="selecttest"> <option value = "1">1</option> <option value = "2" selected>2</opt

我有一个带有大小属性的简单选择框,我想在函数值更改时调用它。
因此,我向select标记添加了一个onchange事件:

<select onchange="alert(this.options[this.selectedIndex].value);" size="6" id="selecttest">
  <option value = "1">1</option>
  <option value = "2" selected>2</option>
  <option value = "3">3</option>
  <option value = "4">4</option>
  <option value = "5">5</option>
  <option value = "6">6</option>
  <option value = "7">7</option>
  <option value = "8">8</option>
  <option value = "9">9</option>
  <option value = "10">10</option>
  <option value = "11">11</option>
  <option value = "12">12</option>
</select>
这是我应该期待的吗


注意:仅当您首先单击滚动条或箭头时,才会发生这种情况。如果单击所选值或其他值,然后单击滚动条/箭头,则此行为将停止。

在我的Chromium安装中,此行为不会发生。我很确定这是一个bug,不应该被期待。不过,您可以让解决方案变得非常简单:

$(function () {
    var lastVal;
    $('#selecttest').change(function () {
        var v = $(this).val();
        if (v != lastVal) {
            fireYourRealOnChangeEventHere();

            lastVal = v;
        }
    });
});

这似乎是27.0.1453.94中的已知问题


这不会发生在我的配置上
Chromium版本25.0.1364.160构建在Ubuntu12.04上,运行在初级操作系统0.2(25.0.1364.160-0ubuntu0.12.04.1)上。
我修改了这个问题,使之更具体地描述Chrome版本和操作系统。是的。这是我已经决定要做的。但这不是change/onchange处理程序的作用吗?我在这里处理了很多旧的网页,我不想在每个网页上比较原始值和新值。事实上,你应该报告错误。但是,在维护方面无法帮助您,如果更改这样一个小东西太麻烦,那么这些页面的结构不是很好。这将是关于结构不良页面的准确陈述!
$(function () {
    var lastVal;
    $('#selecttest').change(function () {
        var v = $(this).val();
        if (v != lastVal) {
            fireYourRealOnChangeEventHere();

            lastVal = v;
        }
    });
});