在已生成的静态页加鼠标事件问题

iloveyoujia 2014-09-16 09:35:55
我有一个TABLE是控件生成的,现在在TABLE中不方便加事件了,有没有办法,通过JQUERY加事件?
Table脚本如下:

<table id="uicTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr id="row">
<td align="" class="chboxtd"><div style="width: 22px;"><input class="itemchk" id="chk_" type="checkbox" value=""></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">13953654</code></span></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">35416005</code></span></div></td>
<td align="left"><div style="width: 384px; text-align: left;"><span><code class="codeSpan">Apache-HttpClient</code></span></div></td>
<td align="left" class=" tdLast"><div style="width: 546px; text-align: left;"><span><code class="codeSpan">http://m.baidu.com/appsrv?action=clientlog&</code></span></div></td>
</tr>
<tr class="erow" id="row">
<td align="" class="chboxtd"><div style="width: 22px;"><input class="itemchk" id="chk_" type="checkbox" value=""></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">13955200</code></span></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">35211305</code></span></div></td>
<td align="left"><div style="width: 384px; text-align: left;"><span><code class="codeSpan">Apache-HttpClient/UNAVAILABLE (java 1.4)</code></span></div></td>
<td align="left" class=" tdLast"><div style="width: 546px; text-align: left;"><span><code class="codeSpan">http://r6.mo.baidu.com/v4/?c=noti&sp=0&pm3=406358&ptime=-1&env=2&</code></span></div></td>
</tr>
<tr id="row"><td align="" class="chboxtd"><div style="width: 22px;"><input class="itemchk" id="chk_" type="checkbox" value=""></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">13955540</code></span></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">35687104</code></span></div></td>
<td align="left"><div style="width: 384px; text-align: left;"><span><code class="codeSpan">UNAVAILABLE (java 1.4)</code></span></div></td>
<td align="left" class=" tdLast"><div style="width: 546px; text-align: left;"><span><code class="codeSpan">http://andmbd.tj.ijinshan.com/data/?androidid=85043813364486de&andver=4.0.3&</code></span></div></td></tr>
<tr class="erow" id="row">
<td align="" class="chboxtd"><div style="width: 22px;"><input class="itemchk" id="chk_" type="checkbox" value=""></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">13955705</code></span></div></td>
<td align="left"><div style="width: 90px; text-align: left;"><span><code class="codeSpan">35156805</code></span></div></td>
<td align="left"><div style="width: 384px; text-align: left;"><span><code class="codeSpan">~___311(android)</code></span></div></td>
<td align="left" class=" tdLast"><div style="width: 546px; text-align: left;"><span><code class="codeSpan">http://r.inews.qq.com/getQQNewsIndexAndItems?qqnetwork=gsm&store=68&hw=samsung_GT-S7508&devid=351568052087195&</code></span></div></td>
</tr>
</tbody>
</table>


不改变TABLE结构的情况下,如何在最后一个TD列中,添加事件呢?

我这么处理的:

1、动态创建一个DIV;
var newa = document.createElement("a");
newa.setAttribute("id", "share");
newa.setAttribute("href", "#");
newa.setAttribute("style", "display:none;");

var bodyTags = document.getElementsByTagName("body");
var thisBody = bodyTags[0];
thisBody.appendChild(newa);

$("#share").css({
width: '32px',
height: '32px',
position: 'absolute',
background: 'url(/images/dialog/sina.png) no-repeat',
'text-decoration': 'none',
display: 'none'
});

var content = document.getElementsByTagName("div");
var sina;
for (var i = 0; i < content.length; i++)
select(content[i], function (txt, tar, mouseP) {
sina = document.getElementById("weiboshare");
AllSee = mouseP;
sina.style.left = document.body.scrollLeft + mouseP.x + 5 + "px";
sina.style.top = document.body.scrollTop + mouseP.y - 30 + "px";
sina.style.display = "block";
share(sina, { title: txt });
//window.alert(sina);
}, function () {
;
});


结果每个TD列都可以点击这个事件,现在不知道怎么控制住只让最后一个TD列有事件了。麻烦帮忙看看吧! 感谢。
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
iloveyoujia 2014-09-16
  • 打赏
  • 举报
回复
报错啊。 0x800a138f - JavaScript 运行时错误: 无法设置未定义或 null 引用的属性“onmouseup”
引用 4 楼 sunny906 的回复:

content[content.length]
sunny906 2014-09-16
  • 打赏
  • 举报
回复

content[content.length]
iloveyoujia 2014-09-16
  • 打赏
  • 举报
回复
效果是做了,但我是所有列都能选,不满足要求。 现在是控制不到列, 我一个页面有很多框架,DIV也很多。 uicTable 是唯一的。就是要控制到最后一列。
iloveyoujia 2014-09-16
  • 打赏
  • 举报
回复
0x800a138f - JavaScript 运行时错误: 无法设置未定义或 null 引用的属性“onmouseup”
引用 1 楼 sunny906 的回复:
其实,你自己都已经做出来了啊

        var content = document.getElementsByTagName("div");
        var sina;
                select(content[content.length], function (txt, tar, mouseP) {
                    sina = document.getElementById("weiboshare");
                    AllSee = mouseP;
                    sina.style.left = document.body.scrollLeft + mouseP.x + 5 + "px";
                    sina.style.top = document.body.scrollTop + mouseP.y - 30 + "px";
                    sina.style.display = "block";
                    share(sina, { title: txt });
                    //window.alert(sina);
                }, function () {
                    ;
                });
sunny906 2014-09-16
  • 打赏
  • 举报
回复
其实,你自己都已经做出来了啊

        var content = document.getElementsByTagName("div");
        var sina;
                select(content[content.length], function (txt, tar, mouseP) {
                    sina = document.getElementById("weiboshare");
                    AllSee = mouseP;
                    sina.style.left = document.body.scrollLeft + mouseP.x + 5 + "px";
                    sina.style.top = document.body.scrollTop + mouseP.y - 30 + "px";
                    sina.style.display = "block";
                    share(sina, { title: txt });
                    //window.alert(sina);
                }, function () {
                    ;
                });
shoppingli 2014-09-16
  • 打赏
  • 举报
回复
上面写改成content[content.length-1],如果想用jquery, var tds = $("#uicTable").find('td'); var last = tds[tds.length - 1]; 或者 var tds = document.getElementById('uicTable').getElementsByTag('td'); var last = tds[tds.length - 1];
iloveyoujia 2014-09-16
  • 打赏
  • 举报
回复
有没有办法指定这个TABLE中的最后一个TD的写法啊? 好郁闷。。如何写呢? TD和TR我都试了,都不行。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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