【问题标题】:Order of onclick and onselect Javascript eventsonclick 和 onselect Javascript 事件的顺序
【发布时间】:2009-12-28 04:33:52
【问题描述】:

当用户单击选择控件以选择选项时,onclickonselect 事件是否都会触发?如果是这样,按什么顺序?是否依赖浏览器?

【问题讨论】:

  • 好的...我在考虑onchange,而不是onselect(我的代码中有onchange)。我做了一些测试,发现在 Firefox 中,onchange 先于 onclick,但两者都会触发。 Opera 的行为方式相同。在 Chrome 中,onclick 似乎根本不会触发,但 onchange 会触发。我在 Linux 上,所以我必须使用 IE 来测试它的行为。

标签: javascript onclick dom-events onselect


【解决方案1】:

select 事件并没有按照您的想法进行。当您在文本框或文本区域中选择文本时会触发它。单击选择元素时触发的事件是:

  1. 鼠标按下
  2. 焦点(如果选择元素还没有焦点)
  3. 鼠标移动
  4. 点击

当您通过单击选择列表中的项目更改选定值时,将触发 change 事件。在 IE 中,每次使用键盘更改突出显示的项目时也会触发此事件。在 Firefox 和 Chrome 中,您必须按“回车”键才能触发 change

【讨论】:

  • 对不起,我弄错了我使用的事件——我使用的是 onchange,而不是 onselect。不过,这是有用的信息。
【解决方案2】:

应该相当容易测试:

<select onclick="alert('click');" onselect="alert('select');"><option>A</option><option>B</option></select>

【讨论】:

    【解决方案3】:

    应该是:

    • 鼠标按下
    • 鼠标移动
    • 点击
    • 选择

    但我不确定非标准浏览器 (IE) 是否总是符合这一点。如果有疑问,请使用一组事件侦听器对其进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多