这段代码是从蓝色经典js源码中找到的,感觉写法比较特别,就摘了下来研究了下,发现这段代码通用性比较强,因为对event及srcElement/target进行了相关判断处理,而且其运行的代码不是根据id来判断的。这段代码要求要运行的代码放在运行按钮同级结点的第一个结点,即childNodes[0].
先收藏起来,以后有用的!
function runCode() //定义一个运行代码的函数,
{
if(1 == arguments.length)
try{event = arguments[0];}catch(e){}
var code=(event.target || event.srcElement).parentNode.childNodes[0].value;//即要运行的代码。
var newwin=window.open('','',''); //打开一个窗口并赋给变量newwin。
newwin.opener = null // 防止代码对论谈页面修改
newwin.document.write(code); //向这个打开的窗口中写入代码code,这样就实现了运行代码功能。
newwin.document.close();
}