HTML当select标签具有尺寸属性时,选择滚动条上的更改事件触发点击Chrome

Ric*_*ich 5 html javascript select google-chrome

我有一个带有size属性的简单选择框,我希望在其值发生变化时调用一个函数.
所以我在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>
Run Code Online (Sandbox Code Playgroud)

见http://jsfiddle.net/MGtJZ/2/.

在Windows 7 Pro中的Chrome [版本27.0.1453.94 m](我的测试中不在IE或Firefox中),当您只需单击选择框的滚动条而没有更改值时,会触发onchange事件.

如果我注册了jQuery更改事件而不是使用纯JavaScript(http://jsfiddle.net/MGtJZ/1/),也就是说,我删除了onchange属性并注册了更改事件处理程序,就会发生这种情况:

$(function () {
  $('#selecttest').change(function () {
    alert($(this).val());
  });
});
Run Code Online (Sandbox Code Playgroud)

这是我应该期待的吗?

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