当前位置: 首页 > 面试题库 >

如何避免使用Javascript在多选框中按住ctrl键单击的需要?

冯渝
2023-03-14
问题内容

我以为这是一个简单的技巧,但是我已经搜索了几个小时,找不到合适的搜索词。我希望有一个普通的多重选择框(<selectmultiple="multiple">),但我不想用户必须按住Control键才能进行多重选择。

换句话说,我希望单击鼠标左键来切换<option>光标下方的元素,而不更改其他任何元素。换句话说,我想要的东西看起来像一个组合列表框,但表现得像一组复选框。

有人可以建议用Javascript做到这一点的简单方法吗?谢谢。


问题答案:

基本上,您需要覆盖mousedown每个事件<option>并在selected那里切换属性。

$('option').mousedown(function(e) {
    e.preventDefault();
    $(this).prop('selected', !$(this).prop('selected'));
    return false;
});

为简单起见,我在上面给出了“选项”作为选择器。您可以对其进行微调以匹配<option>s特定<select>元素。例如:$('#mymultiselectoption')



 类似资料:
  • 问题内容: 我有一个文本输入和一个按钮(请参阅下文)。当在文本框中按下键时,如何使用JavaScript 触发按钮的click事件? 当前页面上已经有一个不同的“提交”按钮,因此我不能简单地将该按钮设为“提交”按钮。而且,如果 只从该一个文本框中按下该按钮,我 只 希望按键单击此特定按钮,没有其他选择。 问题答案: 在jQuery中,以下将起作用: 或在纯JavaScript中,以下方法将起作用:

  • 问题内容: 在我的应用程序中,如果发生特殊情况,我会通过通知通知用户: 如果用户单击通知,则将调用onCreate()方法。但是我希望调用我的应用程序中的特定方法,或者如果该应用程序不在前台,则将其带回前台。 我知道有很多教程可以解释如何处理通知,但是我只是不完全理解通知,因此无法实现我想要的事情。 问题答案: 要将您的应用(如果已在运行)置于前台,您需要在意图上设置不同的标志: 对于运行特定方法

  • 这是网络检查 我想使用关键字Execute Javascript点击这个元素。我试着这样 运行测试后,它通过了,但在web上没有任何操作。还是一样。你能帮忙吗? 我已经找到了解决方案。根据有几个iframe,所以在执行上面的命令之前应该选择预期的iframe

  • 问题内容: 我写了一个Google Chrome扩展程序,要在其上使用扩展程序的网站要求我单击或制表到文本框(因为我认为它仅运行javaScript验证“ onClick”)。我可以使用以下扩展名在框中输入带有扩展名的文本: 但是,当我单击提交时,它认为我没有在“ input1”文本框中输入任何内容,因为我从未单击过它或在其上使用选项卡。 有人可以帮我解决这个问题吗? 问题答案: 模拟鼠标单击 我

  • 问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在

  • 此输出:SRF、COM、MOT 但我想选一个。(点击它)我怎么做?