javascript - 在多选中获取最后单击的选项

标签 javascript html events select

在一个页面上,我有一个包含许多选项的选择(多个)框。 现在我想对最后单击的项目使用react,以使用 ajax 显示一些数据。

由于 option 元素上的“click”事件在 IE 中不起作用,我目前使用“change”事件。

问题是,“值”和 selectedIndex 属性指向第一个选定的项目,即使我在第一个之后选择了其他选项也是如此。

我可以获得最近选择的选项的唯一方法是比较“更改”事件前后的所选选项集。

还有其他办法吗?

最佳答案

The only way I could get the most recently selected option is by comparing the set of selected options before and after the "change" event.

这可能是您最好的选择 -- 即不会报告对单个选项的点击事件(它只会报告对选择框的点击)。

如果你真的想弄清楚哪个选项被点击了(当监听对选择框本身的点击时),你可以查看事件对象的 offsetY 属性(这将是垂直的鼠标光标相对于选择框中第一个选项顶部的偏移量——因此它包括选择框的滚动偏移量),并将其除以您预先确定的选项大小(这将取决于字体大小)选择框)。

但显然,当用户通过键盘选择选项时,这对您没有帮助。

关于javascript - 在多选中获取最后单击的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276086/

相关文章:

javascript - $compile 在递归函数中不起作用

javascript - 使用 sortable 获取列表内的值

html - 如何正确访问 CSS children?

java - 区分表格元素

javascript - 无限制地对数组数组(无数据库)进行分页

javascript - 使搜索不区分大小写

java - 如何制作带有不包含 ?<id>= 的操作 URL 的 HTML GET 表单?

javascript - 如何正确删除 eventListener?

java - 检测何时按下 BlackBerry 轨迹球/键盘?

javascript - jQuery 捕获表单上命名输入的所有更改