问题描述
function (objs) { if (objs.attr('name') == 'head') { objs.click(function () { alert('number'); }); } else { alert(objs.html()); objs.click(function () { alert('number1'); }); } }传入一个 jquery对象给objs后 可以输出这个对象的html 却不能绑定后面的click事件了 什么原因?其他任何地方都没有消除 或绑定事件 问题补充:AngelAndAngel 写道
解决方案
呵呵 加油 能搞定就好!
解决方案二:
可以用ff浏览器或者chrome来debug么 看看是不是dom加载出问题了还是js执行问题,如果trigger都可以调用click,那这小段js是没问题的,应该是dom的问题
解决方案三:
你传进去的jquery对象是否支持click方法,你可以通过alert(objs.click());看是不是undefined的。
解决方案四:
引用我说的td上没加任何元素 是指没有index层在td上面 td里是有东西的 就一字符串很奇怪,要不你再研究下name="head"和不是head的td有啥区别。。。。。
解决方案五:
很明白啊,能输出html说明这个对象里有东西,但是你确定已经放在dom中,并且dom已经完全加载了吗?如果dom没有加载完成,事件是触发不了滴 。
解决方案六:
引用td上没有设置任何元素 应该不存在没有点中的问题感觉就是没放元素才没能点中。。。给里放点东西之后试试?<td>aaaaaaaa</td>
解决方案七:
引用table 里的td的jquery对象 我觉得吧,既然已经alert都正确弹出了,click应该也没问题,会不会是你td的宽度高度引起的位置问题?鼠标没能点中。。。我上面的代码都是正常的
解决方案八:
你传入的那个jquery对象 对应的dom是什么样的。是div?input?
解决方案九:
或者这么定义函数function addclick(objs) { if (objs.attr('name') == 'head') { objs.click(function () { alert('number'); }); } else { alert(objs.html()); objs.click(function () { alert('number1'); }); } } $(document).ready(function(){ addclick($("#b")); });
解决方案十:
这个需要看其他代码,或者参考我这边写的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head><script src="jquery-1.6.2.min.js" type="text/javascript"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script language="javascript" type="text/JavaScript"> jQuery.fn.showClick = function (objs) { if (objs.attr('name') == 'head') { objs.click(function () { alert('number'); }); } else { alert(objs.html()); objs.click(function () { alert('number1'); }); } } $(document).ready(function(){ $("#a").showClick($("#b"));}); </script> </head> <body> <div id="a"><div id="b" name="bb">bbbb</div> </div> </body></html>