<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body><div id="divMain"></div><script type="text/javascript">function Init()
{
this.title = "abc";
var content = '<a href = "#" onclick = Test("' + this.title + '"); >click me</a>';
document.getElementById("divMain").innerHTML = content;
}function Init2()
{
this.title = "def";
var callFunction = Test; //采用函数指针的方式调用
var content = '<a href = "#" onclick = callFunction("' + this.title + '"); >click me</a>'; document.getElementById("divMain").innerHTML = content;
}function Test(title)
{
alert(title);
return false;
}Init(); //这个正常
Init2(); //这个单击没弹对话框</script></body>
</html>Init()中的链接单击后,能正常弹出信息,但如果需要采用函数变量的方式(指针),如Init2()中的,就无法单击后弹出信息了。
请问如何修改,谢谢!
{
this.title = "def";
var callFunction = Test; //采用函数指针的方式调用
----------改成
var callFunction = Test; //采用函数指针的方式调用
function Init2()
{
this.title = "def";
function Init2()
{
this.title = "def";
callFunction = Test; //采用函数指针的方式调用
var content = '<a href = "#" onclick = callFunction("' + this.title + '"); >click me</a>';
document.getElementById("divMain").innerHTML = content;
}把callFunction的声明放到最外面。