我已经看到了一些使用jQuery做我想做的事情的例子,但是我正在为一个使用Prototype框架的应用程序开发一个插件,并希望坚持这一点。
基本上,我希望功能就像按下ctrl键一样。如果单击选定的选项,我希望它取消选择。
以下是我使用jQuery发现的一个示例:http://jsbin.com/idofa
这是我的版本不起作用,因为事件在之后触发默认操作选择它(导致它选择然后立即取消选择)。
option.observe('click', function(event){
this.selected = !this.selected;
});
我尝试过添加event.stop();和event.preventDefault();这两者似乎都没有效果。
谢谢!
答案 0 :(得分:0)
正确的回答,来自我上面的评论:
选择是在mousedown上执行的,因此必须在此处使用 'mousedown'
事件代替'click'
。
option.observe('mousedown', function (event) {
this.selected = !this.selected;
event.stop(); // unnecessary in this case, but I think it's good practice
});
Victor编辑的小提琴示例: