extjs函数调用方法

init:function(){this.control({'userlisttextfield[id=searchId]':{keyup:function(textfi... init: function() {
this.control({
'userlist textfield[id=searchId]':{
keyup:function(textfield, e){

if (e.getKey() == 13) {
this.searchUserByEnter //此处该如何调用searchUserByEnter 所标记的方法
}
}
}
}
searchUserByEnter:function(textfield){
alert('call search function')
var grid = textfield.ownerCt.ownerCt,
store =grid.getStore(),
tbar=textfield.ownerCt,
searchInfo= tbar.down('textfield').getValue();
store.on('beforeload', function (store, options) {
var param = {
param:searchInfo
};
Ext.apply(store.proxy.extraParams, param);
});
var pagebar = grid.down('pagingtoolbar');
pagebar.movePrevious();
grid.getStore().load({
params:{ start:0, limit:5}
});
}
展开
 我来答
扶南6I
2012-01-18 · TA获得超过304个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:446万
展开全部
当前this所引用的作用域已经改变了,可简单修改为
init: function() {
var me = this;//保存作用域
this.control({
'userlist textfield[id=searchId]':{
keyup:function(textfield, e){

if (e.getKey() == 13) {
me .searchUserByEnter(textfield); //调用原作用域方法
}
}
}
}
规范点可参照extjs写成scope参数控制this
追问
不是this作用域的问题,我用“探梦今生 ”的方法在fire bug里调试了一下,this指向的是整个类,我认为应该是这里需要一个东西来调用this.searchUserByEnter。
嗳你不知可否
推荐于2017-09-23 · TA获得超过7183个赞
知道大有可为答主
回答量:4507
采纳率:81%
帮助的人:1143万
展开全部
一、获取元素(Getting Elements)
1.Ext.get
var el = Ext.get('myElementId');//获取元素,等同于document.getElementById('myElementId');//会缓存
2. Ext.fly
var el = Ext.fly('myElementId')//不需要缓存。
注:享元模式(Flyweight Design Pattern)是一种节省内存的模式,该模式的大概原理是建立单个全体对象然后不断反复使用它。
3.Ext.getDom
var elDom = Ext.getDom('elId'); // 依据id来查dom节点
var elDom1 = Ext.getDom(elDom); // 依据dom节点来查dom节点

二、CSS元素
4.addClass
Ext.fly('elId').addClass('myCls'); // 加入元素的'myCls'的样式
5.radioClass
Ext.fly('elId').radioClass('myCls');//添加一个或多个className到这个元素,并移除其所有侧边(siblings)节点上的同名样式。
6.removeClass
Ext.fly('elId').removeClass('myCls'); // 移除元素的样式
7.toggleClass
Ext.fly('elId').toggleClass('myCls'); // 加入样式
Ext.fly('elId').toggleClass('myCls'); // 移除样式
Ext.fly('elId').toggleClass('myCls'); // 再加入样式
8.hasClass
if (Ext.fly('elId').hasClass('myCls')) {//判断是否已加上这个样式
// 是有样式的
}
10.replaceClass
Ext.fly('elId').replaceClass('myClsA', 'myClsB');//替换样式
11.getStyle
var color = Ext.fly('elId').getStyle('color');//返回该元素的统一化当前样式和计算样式。
var zIndx = Ext.fly('elId').getStyle('z-index');//返回该元素的统一化当前样式和计算样式。
12.setStyle
Ext.fly('elId').setStyle({
display : 'block',
overflow : 'hidden',
cursor : 'pointer'
});//设置元素的样式,也可以用一个对象参数包含多个样式。
13.getColor
Ext.fly('elId').getColor('color');//为指定的CSS属性返回CSS颜色
14.setOpacity
Ext.fly('elId').setOpacity(.45, true);//设置元素的透明度。
15.clearOpacity
Ext.fly('elId').clearOpacity();//清除这个元素的透明度设置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
探梦今生
2012-01-17 · TA获得超过367个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:489万
展开全部
this.searchUserByEnter(textfield);
这样可以吗
更多追问追答
追问
不行啊
追答
帅哥,你确认enter被按下时,能进入这个function吗。
帮忙在this.searchUserByEnter前面加一行alert(“test”)试试吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式