<body><div id="divMain"></div><script type="text/javascript">function Test(title)
{
alert(title);
}
function Init(functionName, title)
{
var callFunction = functionName; return function()
{
var content = '<a href = "#" onclick = callFunction("' + title + '"); >click me</a>';
document.getElementById("divMain").innerHTML = content;
}
} var aa = Init(Test, 'hello');
aa();
</script></body>
var callFunction作为全局变量放在Function Init外面,则可以弹出对话框,但我这边需要把callFunction定义在function Init中。
所以想采用闭包的形式访问,但发现仍无法调用该函数。谢谢!
解决方案 »
- select 类型的input不能设置为readonly怎么办呢?
- 这段代码在FF下失效!!
- document.write();提问
- 求助高手:如何实现梅花雪树的排序?也就是如何根据同级的节点的text按字母表进行排序?
- 初学JS,问1个简单问题.
- 下拉列表的错误,冲搞了好几遍都不行,请各位英雄帮忙,点产品大类,小累不跟着变化,下面是源程序
- 在<iframe>的<div>里获得鼠标事件.
- 散100分请解决动态table的效率问题
- 【新手求助】怎么在div里写js获取本div
- 如何像IE一样窗口不是最大化就可以移动?
- aps.net MVC+Jquery ajaxForm/ajaxSubmit问题
- 元素移动
标准写法是fnName只能是个全局的函数你先要知道生成的的HTML代码,运行和你的闭包没关系了
function Test(title){
alert(title);
}
function Init(functionName, title){
var callFunction = functionName;
return function() {
var content = '<a href = "#" onclick = '+callFunction+'("' + title + '"); >click me</a>';
document.getElementById("divMain").innerHTML = content;
}
}
var aa = Init('Test', 'hello');
aa();
</script>
...
onclick = window.callFunction("' + title + '");
...
<div id="divMain"></div>
<script type="text/javascript">
function Test(title)
{
alert(title);
}
function Init(functionName, title)
{
var callFunction = functionName;
return function()
{
var content = '<a href = "#" >click me</a>';
document.getElementById("divMain").innerHTML = content;
var a = document.getElementById("divMain").childNodes[ 0 ];
a.onclick = function() { callFunction(title); );
}
}
var aa = Init(Test, 'hello');
aa();
</script>
</body>