我已经看到一些使用 jQuery 的示例可以满足我的要求,但我正在为使用 Prototype 框架的应用程序开发一个插件,并希望坚持这一点。
基本上,我想要的功能就像一直按下 ctrl 键一样。如果单击选定的选项,我希望它取消选择。
这是我使用 jQuery 找到的示例:http://jsbin.com/idofa
我的版本不起作用,因为事件在默认操作选择它之后触发(这导致它选择然后立即被取消选择)。
option.observe('click', function(event){
this.selected = !this.selected;
});
我尝试添加 event.stop();和 event.preventDefault();两者似乎都没有效果。
谢谢!
最佳答案
正确答案,来 self 上面的评论:
选择是在鼠标按下时执行的,因此此处必须使用 'mousedown'
事件而不是 'click'
。
option.observe('mousedown', function (event) {
this.selected = !this.selected;
event.stop(); // unnecessary in this case, but I think it's good practice
});
fiddle 示例,由 Victor 编辑:
关于javascript - <select> 元素并观察 ('click' ) 选项切换 option.selected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13371693/