jQuery(或浏览器,我不确定)中有一个简洁的小功能,当您使用键盘导航select元素时,确保jQuery“更改”事件在您按下时不会重新触发多次进入。
这一切都很好,但我正在开发一个多选列表,其中从列表中删除所选元素并添加到下面。这导致您无法选择与您选择的上一个项目相同的索引项目(仅使用键盘),因为它们被视为相同。
在IE中,我可以通过在更改事件结束时使用以下代码重置比较数据来解决问题:
jQuery.data(this, "_change_data", null);
我不知道为什么它只适用于IE。是否有任何方法可以对每个触发更改事件的相同索引进行重复选择?
解决方案:一个简单的解决方法就是禁用所选的值,而不是从列表中删除它们。
答案 0 :(得分:0)
我没有测试过 - 但我认为这可能会有所帮助:
event.preventDefault()
我已经看到它用于鼠标点击 - 但我认为它应该适用于所有事件。但是,我认为它依赖于浏览器正确实现其事件行为 - 因此可能存在跨浏览器问题。