如何延迟.live()直到UI更新
How to delay .live() until UI has updated?
我正在使用jQuery和jQuery UI,我正试图通过添加jQuery UI按钮在false和true之间切换的"aria-pressed"属性来读取复选框状态。
$('.slideButton').live('click', function() {
alert($(this).attr('aria-pressed'));
});
这段代码似乎在jQuery UI更新aria-pressed之前读取aria-pressed。所以i是不可靠的值。我可以安排它在UI更新后执行,还是可以让它等待?
现场示例在这里!
不能在标签或span后面的实际复选框中添加侦听器吗?
$("#days_list li div div div input[type='checkbox']").change(function(){
alert("Someone just clicked checkbox with id"+$(this).attr("id"));
});
这应该可以工作,因为一旦你点击标签,你就改变了复选框中的值。
好了,我已经为您编写了一个实时示例,演示了它如何工作的一般思想,以及如何检索复选框的状态。
$("#checkbox_container input").change(function(){
if($(this).is(":checked")) alert("Checked!");
else alert("Unchecked!");
});
在你的例子中,因为复选框是由JQuery动态添加的,所以你必须使用活动事件,但它基本上是一样的
$("#checkbox_container input").live("changed"....
下面是一个带有一些额外脚本和检查的示例,主要用于演示目的。
您可以在切换完成后使用回调来执行alert($(this).attr('aria-pressed'));
。
$('.slidebutton').toggle(1000, function(){
alert($(this).attr('aria-pressed'));
});
我不太确定你是否使用.toggle()
,但你需要使用回调来确保顺序执行。
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Javascript没有't更新DOM,直到用户交互
- 服务器发送的事件直到脚本完成才更新
- ReactJS-这个状态中的数组在删除时被正确更新,但结果是't,直到以后的状态发生变化
- jQuery append in loop - DOM 直到最后才更新
- 在创建/更新时,使用$state.go('main.myEntries'),但直到重新加载更新或新内容为
- 推迟或暂停敲除中的依赖项评估,直到视图模型完全更新(例如使用映射插件)
- 引导模式对话框文本字段在我以编程方式更改值后不会更新,直到用户在该字段中键入
- AngularJS的数据绑定直到触发任意事件才更新
- 试图隐藏文档,直到用JavaScript更新它
- 在Angular 2中,直到鼠标悬停,组件变量才会在视图中更新
- 如何使用Highcharts获得图中更新点的索引,以及如何重新加载数据直到该索引
- 在$作用域上定义的变量直到下一个周期才更新
- 如何延迟.live()直到UI更新
- ASP.UpdatePanel中的.NET GridView直到第二次点击才更新
- 暂停jQuery就绪事件,直到多个HTML DOM更新完成
- AngularJS的作用域直到在ui中做了一些事情才会更新,比如点击一个带有函数的对象