们在实际的开发是经常会遇到要动态的将某个html元素的事件处理的js脚本赋值给另一个html元素,让新的html元素也有相同的事件处理方法。
网页中有段html:
<a id="products-link" href="javascript:void(0);" οnclick="Ceic.arcWeb.openPage('products-link','Ceic.arcWeb.earThquake');"><span>大地震专题</span></a>
在火狐中我们getAttribute('onclick')后setAttribute('onclick')就可以了
但是在ie中我们发现getAttribute('onclick')获得的是一个object的对象内容大致如下:
为了能够使ie中也可以使用setAttribute('onclick')='.......'我们就必须将ie中getAttribute('onclick')取到的数据去掉浏览器自己加的那些代码了:
Ext.get(tab).dom.getAttribute('onclick').toString().replace(/^function (anonymous|onclick)\(\)\n\{\n(.*)\n\}$/m,'$2')
这样我们获得的js代码和在火狐中获得的是一致的了。