congjl2002 2009-03-25 15:32
浏览 773
已采纳

Ext如何给a标签加入事件

html页面中有这样一些连接
[code="html"]
aaaaaa
bbbbbb
[/code]

然后我在js中想给其中一个a标签设置onclick事件,我是这样写的
[code="java"]

Ext.onReady(function(){
var aObjects=document.getElementsByTagName("a");//为了获得a的一个列表,不知道有没有更好的办法
Ext.each(aObjects,function(obj){
if(obj.href == "file:///smscm/aaa.do"){
obj.on('click',function(){});

}
}); 

});
[/code]

这样写完以后,执行的时候FF就报 [color=red]obj.on is not a function [/color]错误,请问我该如何修改,或者有没有更好的办法实现我说的功能,谢谢
[b]问题补充:[/b]
谢谢 yourgame
不过我的问题还是没有解决,你说的通过id的方式也同样出现obj.on is not a function的错误

原本的标签上是没有id的,我时候来测试到底什么原因的时候加上的,但是还是不行。现在的主要问题不是如何获得a对象,而是ext好像不允许给a加方法,请大家继续回答
[b]问题补充:[/b]
抱歉,刚刚实验了一下,通过id可以获得,但是问题是本来的页面是这样的
[code="java"]aaaaaa

bbbbbb [/code]

我该如何添加click事件呢?谢谢
[b]问题补充:[/b]
那我写的应该怎么改呢?现在报错不让添加事件啊

  • 写回答

8条回答 默认 最新

  • zhoujuan520 2009-03-25 21:54
    关注

    帮你写好了:)
    [code="js"]Ext.onReady(function(){
    var arr = Ext.query('a');//获得所有a标签 这里得到一个Array数组
    for(var i=0;i<arr.length;i++){
    var id = Ext.id();//生成唯一id
    arr[i].id = id; //给标签设置id
    var value = arr[i].innerHTML;//获得标签文本内容
    if(value == 'aaaaaa'){
    Ext.get(id).on('click',function(){ //增加单击事件
    alert('我是aaaaaa');
    });
    }
    if(value == 'bbbbbb'){
    Ext.get(id).on('click',function(){ //增加单击事件
    alert('我是bbbbbb');
    });
    }

    }
    

    });[/code]

    当你点击的时候会执行相应的函数,当然也去执行url路径 你测试的时候可以把链接改成这样

    aaaaaa
    bbbbbb

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配