网页加载后动态改变HTML元素的onClick事件

  今天,我在编写我的网站http://www.izfang.com时,为了能够不刷新切换“出租”和“求租”信息列表,我写了一段JavaScript代码,利用objElem.innerText属性动态改变了TD元素中的值。

  当我想改变列表的鼠标点击链接时发现,由于我没有在每个TD元素中使用<a href=".....">...</a>标签,而是在整个TR元素的onClick属性中使用了"window.open('targetPage.asp')",这下我在做切换时遇上了难题:

    如何动态改变这个TR元素的onClick事件?

  一开始,我在JavaScript函数中直接给这个元素的onclick属性赋值:
   ...
   <tr id="pRentClick">
     <td>...</td>
   </tr>
   ...
   <script language="javascript">
              pRentClick.οnclick="window.open('targetPage.asp?id=1')";
   </script>
  运行后无反应,失败。

  于是我开始上Google搜索查找方法,在一个英文的论坛上看到这样一个方法:
   <script language="javascript">
              pRentClick.setAttribe["onclick","window.open('targetPage.asp?id=1')";
   </script>
  运行后无反应,失败。

  后来,终于在CSDN的论坛上找到一篇文章:http://topic.csdn.net/t/20021129/09/1215091.html

  这篇文章的楼主也遇到跟我一样的问题,我大致看了一下大家的回复,就改写上述代码如下:
   <script language="javascript">
              pRentClick.οnclick=function("window.open('targetPage.asp?id=1')");
   </script>
  结果运行还是无反应,网页提示有错。

  这下我不知所解了,为什么别人能运行的代码我却不能运行?

  仔细对照我和论坛上的代码后,发现居然是function和Function两个相同英文单词的首字母大小写不一样。于是我将function改成Function大写,如下:
   <script language="javascript">
              pRentClick.οnclick=Function("window.open('targetPage.asp?id=1')");
   </script>
  运行正常!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞天神笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值