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;
}
});
});