Hierarchy
Ext.BaseExt.tip.QuickTipManagerFiles
为任何元素提供有吸引力的和可以定制的工具提示框. 快速提示框 单例 被用来配置和全局管理工具提示中 多种元素的通用方式. 要创建单个的最大定制的工具提示框, 你应该考虑Ext.tip.Tip 或者 Ext.tip.ToolTip.
快速提示框 可以通过直接标记的标签属性进行配置, 或者 通过register 方法程序的注册快速提示框.
Ext.tip.QuickTip的简单示例是可通过 getQuickTip, 和支持所有的方法, 和所有的 Ext.tip.QuickTip的配置属性. 这些设置将允许所有的 工具提示框通过单例显示.
下面的是可以用的简单的配置属性. 通过QuickTip 类以查看 更详细的配置选项的说明
dismissDelay
hideDelay
maxWidth
minWidth
showDelay
trackMouse
autoHide
cls
dismissDelay
(重写单例值)target
(必需的)text
(必需的)title
width
展示一个那些配置选项中某些的使用方法的例子:
// 初始化一个单例。 任何一个基本标签的快速提示框将开始工作。
Ext.tip.QuickTipManager.init();
// 允许为单例的配置属性设置值
Ext.apply(Ext.tip.QuickTipManager.getQuickTip(), {
maxWidth: 200,
minWidth: 100,
showDelay: 50 // 锁定目标后显示50毫秒
});
// 创建一个小面板用来添加一个快速提示框
Ext.create('Ext.container.Container', {
id: 'quickTipContainer',
width: 200,
height: 150,
style: {
backgroundColor:'#000000'
},
renderTo: Ext.getBody()
});
// 手动为一个特定元素注册一个快速提示框
Ext.tip.QuickTipManager.register({
target: 'quickTipContainer',
title: 'My Tooltip',
text: 'This tooltip was added in code',
width: 100,
dismissDelay: 10000 // 鼠标放在上面十秒后隐藏
});
在标记中注册一个快速提示框,你只需添加一个或者多个 有效的命名空间以data-为前缀的快速提示框的属性. The HTML element itself is一个HTML元素会自动设置 为快速提示框目标. 在这里总结支持的属性 (可选除非另有说明):
hide
: 指定“用户”相当于设置自动隐藏为假。
其他的任何值相对于自动隐藏为真.qclass
: 一个用于快速提示框的样式类
(等价于“cls”目标元素配置).qtip (必需的)
: 快速提示框的文本 (等价于“text”的目标元素配置).qtitle
: 快速提示框标题 (等价于“title”目标元素配置).qwidth
: 快速提示框宽度 (等价于”width“目标元素配置).这是一个通过配置一个HTML元素来从标记显示一个工具提示框的例子:
// 为一个HTML按钮添加一个快速提示框
<input type="button" value="OK" data-qtitle="OK Button" data-qwidth="100"
data-qtip="This is a quick tip from markup!"></input>
扩展事件
Defaults to: []
本身
获取当前类的引用,此对象被实例化。不同于 statics,
this.self
是依赖范围,它意味着要使用动态继承。
参见 statics 详细对比
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); // 依赖 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat' 猫
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard' 雪豹
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
成员
调用原来的方法,这是以前的override重写
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
this.callOverridden();
alert("Meeeeoooowwww");
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
This method has been deprecated since 4.1
版本 使用 callParent 代替.
参数的参数,数组或'参数'对象
来自当前方法,例如: this.callOverridden(arguments)
返回调用重写方法的结果。
所谓的"parent"方法是指当前的方法。 这是以前的方法派生或重写(参见 Ext.define)。
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
这可以用来重写如下:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // 调用原来的My.Derived构造
}
});
var obj = new My.Derived();
alert(obj.x); // 现在提示 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // 调用 My.Base.method
}
}
});
alert(My.Base.method(10); // alerts 10
alert(My.Derived2.method(10); // alerts 20
然后,它也可以重写静态方法。
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // 调用 My.Derived2.method
}
}
});
alert(My.Derived2.method(10); // 现在提示 40
这个参数, 通过当前方法得到数组或者 arguments
对象,
例如: this.callParent(arguments)
返回调用父类的方法的结果。
销毁快速提示框的实例。
在整个页面内禁止使用快速提示框
在整个页面内允许使用快速提示框
这个类的初始化配置。典型例子:
Ext.define('My.awesome.Class', {
// 这是默认配置
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome' 超级棒
配置
mixins 混入原型 键-值对
获取从该对象被实例化的类的引用。 请注意不同于 self,
this.statics()
是独立的作用域,无论this
是否运行,总是返回其中的调用类。
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // 总是等于'Cat',无论'this'是什么,
// 相当于:My.Cat.speciesName
alert(this.self.speciesName); // 依赖 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self; // 依赖 'this'
cloned.groupName = this.statics().speciesName; // 相当于: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', 然后提示 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', 然后提示 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
register的别名。 //Alias:别名
配置一个新的快速提示框 并且 把它分配给目标元素。 详述请看 Ext.tip.QuickTip.register.
配置对象
配置扩展