|
多谢指出,这个地方的确有问题。下个版本我会做兼容处理。
不过,我还是建议不要用 name, id, length 等 JavaScript 相关的变量。深层次的原因如下:
- F.ui = function(item) { };
复制代码
我们的 F.ui 有两个作用:
1. 用作函数:创建控件,因为可以在JS中通过 F.ui 来创建一个控件:
- F.ui({
- type: 'button', renderTo: document.body, text: '按钮', id:'button1',
- listeners: {
- click: function (event) {
- F.alert('你点击了按钮');
- }
- }
- });
复制代码
2. 用作对象:保存控件,因此你可以在JS中通过 F.ui 来引用一个控件(比如上面创建的按钮):
这时问题就来了,因为本身JS函数是有属性的,也就是说 F.ui.name == '', 因为是匿名函数,所有 F.ui.name 为空字符串。
而如果你页面中一个控件的id为name话,这就冲突了,当我们试图通过 F.ui.name = You control instance 时,其实是保存不了的,F.ui.name依然为空字符串。
当然下个版本我们会做优化,把页面上的控件保存到一个内部变量中,你可以通过如下两个方式获取:
1. F('controlid')
2. F.ui.controlid (如果控件ID为name时,这种方式就失效了!!)
|
|