这段代码是从蓝色经典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();
}
{
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();
}