在一个页面上,我有一个包含许多选项的选择(多个)框。 现在我想对最后单击的项目使用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/