芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
8

当构造函数遇到 YUI3 封装机制

作者 芒果/分类 代码/发布于 2011-03-08 18:16
	/*
	 * 构造确认操作对话框
	 * @constructor ConfirmBox
	 */

	var ConfirmBox, confirmOff, confirmDel;

	ConfirmBox = function(msg, url){

		this.msg = msg;
		this.url = url;

	};

	ConfirmBox.prototype.fire = function(e){

		var message = confirm(this.msg);

		if(message){

			window.location.href = this.url;

		}
	};

	/*
	 * 确定下架此楼盘?
	 * @instance confirmOff
	 */
	confirmOff = new ConfirmBox('确定下架此楼盘?', config.offUrl);

	if(Y.all('.sale-off')){
		Y.on('click', confirmOff.fire, '.sale-off', confirmOff);
	}

由于 YUI3 的封装机制,通过 Y.on 注册事件默认上下文环境都是 Y 对象。而在 JavaScript 构造函数中,其原型方法调用 this 时指向的是实例化的对象本身,如果不将 context 重置为实例本身,就挂了。如果没重置,console.log this.msg 属性就是下面这个情况鸟:

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/when-constructor-function-meet-yui3-encapsulation-mechanism/" title="当构造函数遇到 YUI3 封装机制" rel="bookmark">当构造函数遇到 YUI3 封装机制 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 8 条群众意见

  1. 胡雪岩的启示 /2011-03-08 21:38

    博主很优秀啊 回应

    #1
  2. SEO是什么 /2011-03-10 13:12

    高深的知识点,看不太明白! 回应

    #2
  3. 小诺 /2011-03-10 13:35

    建议下:评论这栏可以添加表情吗?如果能,我就发个晕的表情。。。这些代码实在是太晕了 回应

    #3
  4. 化妆 /2011-03-11 23:27

    支持一下你的博客,也欢迎来的博客坐坐啊 回应

    #4
  5. 大尚网 /2011-03-13 01:27

    交换友情链接:

    大尚网 http://www.gshion.com

    贵站已加好 回应

    #5
  6. 芒果大尚网/2011-03-13 01:49

    已经添加,感谢关注。 回应

    #6
  7. 快播电影 /2011-03-16 10:42

    我来看博主文章了,感谢分享哦!!! 回应

    #7
  8. 时时彩 /2011-03-16 17:03

    上传我的真诚,下载你的快乐;浏览你的人生,刷新我的感觉. http://www.buyssc.com 欢迎您的回访! 回应

    #8

下面我简单说几句