我有一个多选列表,我想禁用通过在其中使用单击+拖动进行选择的功能,以便每次单击只能选择一个新值 - 但同时我想继续操作列表一个“多个”选择,以便我仍然可以使用 control+click 选择多个值。
我试过在标签中摆弄 onselectstart 和 ondragstart ,但它们似乎在多选列表中没有做任何事情。例子:
<Select id="foo" name="foo[]" multiple="yes" onselectstart="return false" onchange="ajaxFunction()" Size="5">
<option value="" selected>Any</option>
<option value="bar" ondragstart=" return false;">foo</option>
<option value="foobar">bar</option>
<option value="barfoo">foobar</option>
</Select>
我怀疑我可能需要使用 javascript 而不是纯 html。值得注意的是,选择列表触发了一个 onchange 事件,这可能是其中的一个关键——想到的一个想法是以某种方式计算触发每个 onchange 事件的选择的数量,如果超过一个,那么这些值不会在 onchange 事件中处理或事件被完全取消。但希望有一个更简单的解决方案。