关于网页前端框架art.dialog的一些问题

今天有人在群里发问:“art.dialog. texterea 里面 onkeyup  怎么不起作用啊?artdialog 如何给textarea 添加事件?”。

我最近用artDialog时也发现了几个问题,后来发现新版的有问题,如果使用旧版本则没有这个问题,我链接到一个页面,会有一个弹出,然后自动关闭。

当我们写下如下代码:

function aa(){

var haha = 1;

art.dialog({
    content: 'hello',
    ok: function () {
     this.title('关闭').time(3);
      haha = 2;
      return false;
    },
    cancel:function(){this.close();}
});

return haha;
} 

如何在对话框里点"是",改变haha值为2啊?

这个函数看似简单,但是你试试就发现,没有返回。其实art内部已经跨越多个函数了,可以试试把haha设为全局变量。如何做呢?不要在函数内部声明haha。于是,代码成了

var haha = 1;
function aa(){

art.dialog({
    content: 'hello',
    ok: function () {
     this.title('关闭').time(3);
      haha = 2;
      return false;
    },
    cancel:function(){this.close();}
});

return haha;
} 

原来是传说中的闭包在搞怪啊。

相关推荐