Extjs中textarea不支持keyup事件?

jofone 2009-07-03 09:50:19
最近做一个项目,用到Ext.form.textarea, 在监听事件中添加了keyup事件,并将enableKeyEvents属性设为true,但并不执行该事件,不知道为什么? Ext.form.textfield则没有任何问题。郁闷,哪位高手能否指点一二!谢谢!
...全文
2566 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
duni2013 2012-08-10
  • 打赏
  • 举报
回复
我今天也遇到同样的困难,一下是我的代码,也不出现提示:
var mn = new Ext.form.TextField({
name : 'searchusername',
id : "searchusername",
width : 210,
scope : this,
enableKeyEvents : true,
listeners : {
'keyup' : function(o, evt) {
alert(3);
}
}
});
NetVer 2010-07-07
  • 打赏
  • 举报
回复
enableKeyEvents: true

要把enableKeyEvents属性设置为true
shoarh 2009-08-21
  • 打赏
  • 举报
回复
加上这些试试
Ext.override(Ext.form.TextArea, {
onKeyUp : function(e){
if(!e.isNavKeyPress() || e.getKey() == e.ENTER){
this.autoSize();
}
Ext.form.TextArea.superclass.onKeyUp.call(this, e);
}
});
jofone 2009-07-05
  • 打赏
  • 举报
回复
目前我的问题还没有解决,还是谢谢你!你给的代码我测试过了,是没有问题,但把握的代码放进去就不行,change事件可以用,textfield的keyup事件可以用,这让我实在有些郁闷,继续研究吧!
sunxing007 2009-07-03
  • 打赏
  • 举报
回复
没有任何关系, 方在哪儿都一样, 你看到textarea的构造函数了没?它是一个完整的可独立的对象。
给你例子:
textarea.js

Ext.onReady(function(){
var p = new Ext.Panel({
title: 'My Panel',
collapsible:true,
renderTo: 'tt',
width:400,
height: 300,
items:[
{
x: 100,
y: 0,
xtype: 'textarea',
name: 'msg',
enableKeyEvents: true,
height:'100%',
width:'100%',
listeners: {
keyup: function(src, evt){
alert(src.getValue());
}
}
}
]
});
});

textarea.html:

<html>
<head>
<title>Textarea</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>

<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->

<script type="text/javascript" src="../../ext-all.js"></script>

<script type="text/javascript" src="textarea.js"></script>
<link rel="stylesheet" type="text/css" href="forms.css"/>

<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../shared/examples.css"/>
</head>
<body>
<div id="tt"></div>
</body>
</html>

有问题多看例子,多看extjs.com/docs.
问别人是问不到什么的, 因为懂得人太少了。
我知道得也不多, 今天要不是你问关于listeners的事情,我还不会添加listener,然后我就在examples目录下面搜索listener, 很快例子就出来了。
jofone 2009-07-03
  • 打赏
  • 举报
回复
我用的也是2.2,你的代码我测试了一下,没有问题,可将你的代码放到我的代码里就不行了。你是将textarea放在FormPanel里,而我是将其放在Panel的fieldset里,跟这有关系吗?
sunxing007 2009-07-03
  • 打赏
  • 举报
回复
我用的是2.2测试的
sunxing007 2009-07-03
  • 打赏
  • 举报
回复
我不知道你的为什么不可以,我修改了examples/form/absform.js,你拷贝回去试试看absform.html。

/*
* Ext JS Library 2.2.1
* Copyright(c) 2006-2009, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/

Ext.onReady(function() {
var form = new Ext.form.FormPanel({
baseCls: 'x-plain',
layout:'absolute',
url:'save-form.php',
defaultType: 'textfield',

items: [{
x: 0,
y: 5,
xtype:'label',
text: 'Send To:'
},{
x: 60,
y: 0,
name: 'to',
anchor:'100%' // anchor width by percentage
},{
x: 0,
y: 35,
xtype:'label',
text: 'Subject:'
},{
x: 60,
y: 30,
enableKeyEvents: true,
name: 'subject',
anchor: '100%', // anchor width by percentage
listeners: {
keyup: function(src, evt){
alert(src.getValue());
}
}
},{
x:0,
y: 60,
xtype: 'textarea',
name: 'msg',
enableKeyEvents: true,
anchor: '100% 100%', // anchor width and height,
listeners: {
keyup: function(src, evt){
alert(src.getValue());
}
}
}]
});
var window = new Ext.Window({
title: 'Resize Me',
width: 500,
height:300,
minWidth: 300,
minHeight: 200,
layout: 'fit',
plain:true,
bodyStyle:'padding:5px;',
buttonAlign:'center',
items: form,

buttons: [{
text: 'Send'
},{
text: 'Cancel'
}]
});
window.show();
});
内容概要:本文详细描述了机械零件Part4的设计与建模过程,重点围绕三维建模中的几何构造操作展开。首先基于原零件三视图确定关键尺寸,依次创建多个同心圆柱体结构,包括外层圆柱体(52、52、5)、中间圆柱体(25、25、7)以及中心孔结构(16、16、12)。随后对底部圆柱体进行临时加高处理,以便在顶面草绘中构建辅助图形:以计算得出的半径17.5画圆,并在其接触面上方绘制半径为3的小圆,进而引出两条分别成60°和-60°的斜线,配合一条水平线形成三角形轮廓。接着在其余两角复制相同的小圆结构,清理多余线条后完成草图设计。利用该草图执行“拉伸切除”操作,深度设为16.28mm,实现特征开槽。最后将底部圆柱体恢复原始高度5mm,完成整体结构修改。; 适合人群:具备基础CAD建模能力的机械设计人员或工科类学生;熟悉SolidWorks、AutoCAD等三维设计软件的操作者;从事零部件逆向设计或结构优化的技术人员。; 使用场景及目标:①用于学习复杂零件的分步建模方法,掌握从三视图到三维实体的转换技巧;②理解拉伸、切除、草图约束、包围盒设置等核心建模命令的实际应用;③提升对尺寸链计算、辅助线构建及几何关系控制的理解与实践能力。; 阅读建议:建议结合文中参数逐步在建模软件中复现操作,重点关注草图绘制逻辑与切除特征的关联性,注意各步骤间的顺序依赖关系,避免因尺寸或约束错误导致建模失败。
内容概要:本文系统阐述了基于格子Boltzmann方法(Lattice Boltzmann Method, LBM)对二维通道内多孔介质流动进行数值模拟的理论体系、Matlab代码实现流程及结果验证方法。深入剖析了LBM在处理复杂流体系统尤其是不规则几何结构多孔介质流动中的独特优势,详细介绍了模型构建过程、边界条件设定、碰撞与传播环节的算法实现机制,并通过Matlab编程完成仿真运算,实现了对速度场、压力场等关键物理量的可视化分析与精度验证,确保模拟结果具备良好的准确性与可靠性。; 适合人群:具备流体力学基础知识和一定Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事多孔介质流动、计算流体力学(CFD)或LBM方法研究的相关领域研究人员。; 使用场景及目标:①掌握格子Boltzmann方法的核心原理及其在多孔介质流动模拟中的具体应用;②学习利用Matlab实现LBM算法并开展科学计算与结果可视化的方法;③为相关科研项目、学术论文复现或实际工程仿真提供可复用的代码框架与技术实施路径。; 阅读建议:建议读者结合流体力学与数值计算相关背景知识,逐步理解算法推导过程,动手运行并调试所提供的Matlab代码,通过调整参数或几何模型加深对LBM方法灵活性与适用性的认识,同时鼓励将该方法拓展至三维流动或多物理场耦合问题的研究中。

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧