【问题标题】:Why does this JQuery dropdown plugin only work on the first dropdown?为什么这个 JQuery 下拉插件只适用于第一个下拉菜单?
【发布时间】:2013-08-26 00:59:28
【问题描述】:

我正在为下拉菜单使用以下 JQuery 插件:

https://code.google.com/p/select-box/

我有 4 个下拉菜单,但脚本仅适用于第一个。不知道我需要调整什么才能让它在其他 3 上工作。

代码:

<select name="question1" id="question_1">
     <option value="Yes">Yes</option>
     <option value="No">No</option>
</select>

<select name="question2" id="question_2">
    <option value="Yes">Yes</option>
    <option value="No">No</option>
</select>

<select name="question3" id="question_3">
    <option value="Yes">Yes</option>
    <option value="No">No</option>
</select>

<select name="question4" id="question_4">
     <option value="Yes">Yes</option>
     <option value="No">No</option>
</select>

脚本:

<script type="text/javascript">
$(function () {
    $("#question_1").selectbox();
    $("#question_2").selectbox();
    $("#question_3").selectbox();
    $("#question_4").selectbox();
});
</script>

【问题讨论】:

标签: javascript jquery html drop-down-menu


【解决方案1】:

发生这种情况是因为插件使用了已弃用(现已删除)的.live() 事件绑定器。

在jquery.selectbox-0.2.js 将第 303 行从:

$("html").live('mousedown', function(e) {

到:

$("html").on('mousedown', function(e) {

这里可以使用 jQuery 1.10.1(没有样式):http://jsfiddle.net/3q9Wg/

【讨论】:

  • 你是否替换了小提琴中的所有live() 方法?
  • @HashemQolami - 只有一个,是的,我替换了它。
  • +1 干得好。考虑向主存储库发送拉取请求:)
  • @HashemQolami - 感谢 Hashem,我刚刚建议了补丁 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
  • 1970-01-01
  • 2014-07-07
  • 2011-07-21
  • 2019-02-14
相关资源
最近更新 更多