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条)

报告相同问题?

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败