IE8的JavaScript点击事件(onclick)不兼容的解决方法

2019-12-24,,,,

博客园闪存分页是用JavaScript生成的,今天发现在IE8下点击页码不能翻页,翻页操作是在当前页码的onclick事件中进行的。


开始代码是这么写的:
复制代码 代码如下:
var a = document.createElement("a");
a.setAttribute("onclick", this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");");

由于IE8不支持setAttribute方法,这里添加的onclick事件处理程序并未添加上。


后来改为jQuery的attr方法:
复制代码 代码如下:
$(a).attr("onclick", this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");");


这样虽然添加上去了,但不管怎么点击,onclick事件处理程序就是不执行,Chrome与Firefox都没这个问题。


最终通过下面的代码解决了问题:
复制代码 代码如下:
var js = this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");";
a.onclick = function() { eval(js); }

您可能感兴趣的文章:

  • javascript getElementsByClassName函数
  • js document.getElementsByClassName的使用介绍与自定义函数
  • js 获取class的元素的方法 以及创建方法getElementsByClassName
  • javascript getElementsByClassName 和js取地址栏参数
  • javascript getElementsByClassName实现代码
  • 使用classList来实现两个按钮样式的切换方法
  • Javascript 多浏览器兼容性问题及解决方案
  • JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
  • JavaScript中解决多浏览器兼容性23个问题的快速解决方法
  • JS中getElementsByClassName与classList兼容性问题解决方案分析

《IE8的JavaScript点击事件(onclick)不兼容的解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。