【问题标题】:Jquery Variable Not Working With Click EventJquery 变量不适用于点击事件
【发布时间】:2012-01-05 18:23:07
【问题描述】:

为什么这不起作用??!!

$(document).ready(function(){

    var chooseSection = $("#chooseSection");
    var diabetesSection = $(".diabetesSection");

    chooseSection.live('click', function() {
        diabetesSection.css('display','block');
        setTimeout(function() {
            diabetesSection.addClass('fullfadeIn');
        },20);
        console.log("clicked")
    });

    });

HTML

<div class="row orders-header">
    <div id="orders-back" class="columns">
        <div id="orderCol" class="columns">
            <div class="theBackBtn">Active Orders</div>
        </div>
    </div>
    <div id="chooseSection" class="columns">
        <div class="order-header-btn">
            Choose Section...
        </div>
        <div id="popUp" class="diabetesSection" style="display: none; ">
                        <div class="pop-arrow"></div>
                        <div class="diabetesSection-options">
                            <ul>
                                <li>Suggested</li>
                                <li>Labs</li>
                                <li>Medications</li>
                                <li>Other Tests</li>
                                <li>Referrals</li>
                                <li>Office Procedures</li>
                                <li>Sets</li>
                            </ul>
                        </div>
                    </div>
    </div>
    <div class="columns" style="width:50%; float:right;">
        <input class="general-searchbar orders-search" placeholder="Search Orders...">
    </div>
 </div>

【问题讨论】:

  • 在创建文档时是否存在类diabetesSection 的元素?如果不是,这就是原因,您应该将声明移至事件处理程序内部。
  • 究竟是什么不起作用?此外,您不应在 $(document).ready() 内绑定实时事件。这不是必需的,因为元素不需要在页面上来绑定事件。
  • 我认为你可能是对的 Rob。加载脚本时该元素不存在。让我尝试一下,然后就此事与您联系...
  • 除非您是动态操作 DOM(添加和删除部分),否则请尝试使用“绑定”而不是“实时”来处理点击事件。
  • 嗨,Ron,我正在动态操作 DOM,这是针对 iPad 的,所以它不是您的典型网站(经常使用 live('touchstart click'))。感谢您的信息!

标签: jquery variables object


【解决方案1】:

我试过了,效果很好……

确保您拥有两个元素(id 为“chooseSection”的元素和其他类为“diabetesSection”的元素)

或者这是特定于任何浏览器的?

【讨论】:

    【解决方案2】:

    有什么不好的地方?

    http://jsfiddle.net/rawsmell/RU2H8/2/

    它显示并添加class,因此 div 以diabetesSection fullfadeIn 结束。它应该如何工作?

    【讨论】:

      猜你喜欢
      • 2019-07-29
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 2013-06-24
      • 2017-06-10
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多