HTML <select>
<option>
s通过鼠标单击来选择。 CTRL +单击或鼠标单击+拖动可以进行多项选择。通过CTRL +单击可以取消选择。点击取消选择之前选择的选项
我想允许通过再次点击它来取消选择先前选择的选项。任何点击都会切换选择。
var option = document.createElement('option');
option.onclick = function() {
if(this.selected) {
this.selected=false;
};
};
https://jsfiddle.net/L0L3378q/1/
遗憾的是,似乎onclick
是浏览器(Firefox在我的情况)后,评价处理单击本身,这会导致“选择”后面紧跟着我的onclick的“取消”功能。
现在看来,所有的浏览器每次都会在点击时“选择”选项,如果它从未获得实际选定的状态,则该选项将使该函数无用。
有没有办法确保首先评估onclick,抑制浏览器的点击,或者可以独立跟踪选定的状态(custom property)?
你的jsfiddle/bin链接在哪里? mousedown来之前点击,但你的问题太模糊,没有小提琴 – caub
好点:https://jsfiddle.net/L0L3378q/1/ – handle
尝试添加链接在你的问题,顺便说一句,它适用于Chrome浏览器https:// jsfiddle.net/crl/L0L3378q/2/ without js – caub