选项元素onclick事件修复chrome

option element onclick event fix for chrome

本文关键字:chrome 事件 元素 onclick 选项      更新时间:2023-09-26

我问这个问题可能是在浪费时间。Chrome和Opera不处理选项元素中的事件,IE和Firefox可以。

所以我想知道我有些人知道一个解决方案,而不是在选择元素中使用onchange,因为我曾试图使用该事件和null值的拉错误。

onchange="side_nav(this.getAttibute('id'))"

我使用的代码是简单的id更改,在chrome和opera中除了选项元素之外的任何东西都可以工作,这是功能。

 function side_nav(id)
 {
document.getElementById("selectedS").setAttribute("id","");
 id.setAttribute("id","selectedS");
 }

就像我说的,它在选项元素中起作用但只在IE和FireFox

onclick="side_nav(this)"

该功能在按钮中工作得很好,我怀疑每个其他元素也,只是不是我设置使用的那个。

我怀疑我将重写导航面板来解决这个问题,但我想我会问别人的想法。

我认为这就是答案。写得不好,但给出了答案。

这是对Chrome bug报告的回应。实际的post

首先我必须说,经过进一步的评估,我认为这不是一个bug或缺陷,而是浏览器处理select和option元素的方式。在我看来,浏览器更多地将option元素/标签视为select元素的一个属性,而不是一个单独的元素。select元素/标签只是HTML中的一个多维数组,选项标签成为select元素的属性,这就是为什么事件不会触发,也是为什么不可能为选项元素/标签设置样式的原因。我现在看到,这是在源代码深处,似乎在四大浏览器之间平均分配。我将把我一直在使用的基本选择代码放在这里,但它不会有任何帮助,因为它只是标准,正如我所说的,这不是错误,而是程序设计。谢谢你的回复。