jquery使用click绑定的事件无效

adventurelw 2014-09-01 08:20:57

$(this).children(":last").prev().after("<div class='bounty-add'><a target='_blank' href='bounties.php#/p=add&XID=" + playerId + "'>[Bounty]</a></div>");
$(this).children(":last").prev().after("<div class='info-add'><a href='#'>[Refresh]</a></div>");
$("div.bounty-add").css(addStyle);
$("div.info-add").css(addStyle);


$(this).children(":last").prev().children("a").click(function() {
alert("Hello");
});

相关基本代码如上,Refresh这个a元素可以顺利获取,但就是绑定的click事件无效,在chrome“开发者工具”里"Elements"的“Event Listeners”也找不到有效绑定。
上边基本代码所添加的dom都有效,外层是两个each循环,不过感觉应该没啥影响,所有代码都能顺利执行,包括绑定这一步。就是执行完毕之后去点那个a元素无效,也找不到绑定了这个function。。。。。。。
...全文
7008 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
adventurelw 2014-09-02
  • 打赏
  • 举报
回复
试了一下各种方法,感觉像是绑定上去了,就是没效果啊。。
图片中有a元素的click事件,不过代码位置是jquery里关于click这类方法的位置,而不是.click调用的实际位置。。。。。。
用原始的onclick = function是不会出现那个a元素的click listener的

adventurelw 2014-09-02
  • 打赏
  • 举报
回复
引用 6 楼 Tony__1983 的回复:
你的元素是动态生成的吗? 如果是的话用live或者delegate绑定
虽然是动态的,但是先生成而后绑定,因为不存在找不到的问题。
adventurelw 2014-09-02
  • 打赏
  • 举报
回复
引用 11 楼 net_lover 的回复:
首先,使用firebug查看是否页面出现了脚本错误 再次,确认你的代码找到了a元素 最后。你可以使用 $(document).on("click",".info-add",function(){ alert("ok") }) 如果再不行,请发完整的代码给我
虽然不知道为什么,但用类似思路居然搞定了。。。把class改成id,因为我有上百个div.info-add,改成div#info-add-playerId(playerId动态变化) 然后

$(document).on("click", "#info-add-" + playerId + " a", function() {
   alert("OK" + playerId);
});
就搞定了,不过再请教一下, 为啥 $("#info-add-" + playerId).on("click", "a", function......) 这样就不行呢?id是唯一的,应该也可以准备获取相应的div啊。。。。 多谢
Tony__1983 2014-09-02
  • 打赏
  • 举报
回复
你的元素是动态生成的吗? 如果是的话用live或者delegate绑定
孟子E章 2014-09-02
  • 打赏
  • 举报
回复
首先,使用firebug查看是否页面出现了脚本错误 再次,确认你的代码找到了a元素 最后。你可以使用 $(document).on("click",".info-add",function(){ alert("ok") }) 如果再不行,请发完整的代码给我
adventurelw 2014-09-02
  • 打赏
  • 举报
回复
live jquery1.9就移除了啊,现在倒不是找不到元素或者无法绑定,而是绑定了之后无效。 我直接把a改成p元素,click listeners里面也有,但是那个alter("hello");怎么样都无法触发。。。。。。
华海未寒 2014-09-02
  • 打赏
  • 举报
回复
应该使用live进行绑定时间。
xuzuning 2014-09-01
  • 打赏
  • 举报
回复
$(this).children(":last").prev().children("a").on("click",function() { alert("Hello"); return false; });
温安适 2014-09-01
  • 打赏
  • 举报
回复
你之前的绑定是$(this).children(":last").prev().children("a").on("click",function() { alert("Hello"); }); 与普通click绑定一样 试试这样绑定 $(this).on("click",".info-add a",function() { alert("Hello"); });
mars__dvi6 2014-09-01
  • 打赏
  • 举报
回复
那你可试一下,bind或live咋!
adventurelw 2014-09-01
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
$(this).children(":last").prev().children("a").on("click",function() { alert("Hello"); });
on我也试过,一样无效,好像这两个基本一样? 因为a元素本身就有可点击属性,所以点击之后,还是会响应其原始的事件,比如href=‘#’,就会在地址栏最后加一个#。。。。不知道会不会是因为原始事件覆盖了后加的事件?。。。。。
孟子E章 2014-09-01
  • 打赏
  • 举报
回复
$(this).children(":last").prev().children("a").on("click",function() { alert("Hello"); });
内容概要:本文围绕基于深度学习分类的时相关MIMO信道递归CSI量化技术展开研究,提出一种结合深度学习模型的递归式信道状态信息(CSI)反馈优化方法。该方法针对无线通信系统中时变MIMO信道的特点,利用深度学习网络对信道时序特征进行有效提取与分类,实现高精度、低开销的CSI量化与反馈,从而提升大规模MIMO系统的频谱效率与传输性能。研究不仅涵盖了算法设计与模型构建,还提供了完整的Matlab代码实现,便于验证与复现,适用于现代高性能无线通信系统的优化需求。; 适合人群:具备通信系统理论基础、熟悉MIMO与信道反馈机制,并掌握Matlab编程技能的研究生、科研人员及从事5G/6G通信、智能信号处理与深度学习在通信中应用的工程技术人员。; 使用场景及目标:①研究MIMO系统中基于深度学习的CSI反馈压缩与重建技术;②探索时序信道建模与递归量化机制的深度融合方法;③复现并改进现有算法,支撑高水平学术论文撰写或通信系统原型开发。; 阅读建议:建议读者结合提供的Matlab代码逐模块调试,深入理解深度学习分类网络与时序递归量化策略的协同工作机制,重点关注特征提取、分类决策与量化更新等关键环节的设计逻辑,并可尝试迁移至不同信道模型或引入更先进网络结构以进一步提升性能。

87,990

社区成员

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

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