你必须知道的【闭包】陷阱和案例(4)
他想要的效果是点击create发起一个异步提交,然后在回调的时候关闭弹出层。令他困惑的地方是,弹出层关闭不了。
他抱怨着说:
Cancel: function () {
$(this).dialog("close");
}
我的cancel都能关闭。为什么
if (bValid) {
$.ajax({
type: "POST",
url: "xxxxx.aspx",
data: "name=xxxxx&email=xxxxx&password=xxxx"
}).done(function (msg) {
alert("Data Saved: " + msg);
$(this).dialog("close");
});
}
这里面的$(this).dialog("close")为什么就不能关闭?
这是一个很典型的场景,解决办法:
if (bValid) {
(function (outThis) {
$.ajax({
type: "POST",
url: "xxxxx.aspx",
data: "name=xxxxx&email=xxxxx&password=xxxx"
相关新闻>>
- javascript闭包的高级用法
- JavaScript全面了解作用域(基础、this、闭包、继承)之一
- JavaScript全面了解作用域(基础、this、闭包、继承)之二
- 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
- 我知道的JavaScript -- Json对象扁平化
- 我知道的JavaScript -- 数据结构之– Hashtable
- 学习Javascript闭包(Closure)
- 举例详细说明javascript作用域、闭包原理以及性能问题
- Javascript之Undefined你可能不知道的
- JavaScript重构(五):利用原型和闭包,完成组件方法
- 发表评论
-
- 最新评论 更多>>