【发布时间】: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'))。感谢您的信息!