在Firefox扩展中的contentScriptFile中创建新函数
Create new function in contentScriptFile in Firefox extension
我正在开发一个firefox扩展,在myPanel的contentScriptFile中有这些函数:
...
function myFun(param){
console.log("myFun with "+param)
}
self.port.on('myTrigger',function(value){
$("#myFavDiv").append("<a onclick='myFun(''"+value+"'')'> click me!</a>")
});
...
我包括脚本文件,如(在main.js
中):
myPanel = panel.Panel({
width: 400,
height: 200,
contentURL: self.data.url("panel.html"),
contentScriptFile: [self.data.url("jquery-1.10.2.min.js") , self.data.url("mScript.js")]
});
一切都很好,只是问题是onclick
方法,它在div#myFavDiv
中动态添加了锚标签
单击锚点时引发错误:
Timestamp: 8/10/2013 1:24:48 AM
Error: ReferenceError: myFun is not defined
我试图在main.js
中编写这个myFun
函数,但仍然存在相同的错误。
有什么想法/解决方案吗?
我认为内容脚本是从HTML中沙盒出来的,所以当锚被注入HTML时,它不知道myFun
是什么。在内容脚本中,你可以将处理程序绑定在那里,使其保持在同一环境中。
self.port.on('myTrigger',function(value){
$("#myFavDiv").append("<a onclick='myFun(''"+value+"'')'> click me!</a>")
$("#myFaDiv a").click(myFun);
});
相关文章:
- 函数()和新函数()之间的区别
- 返回一个新函数,而不是工厂中的对象
- 替换新函数中的 arguments.callee
- 将“e”传递给一个新函数 - javascript
- JavaScript新函数混淆
- NodeJS:undefined不是一个新函数'新'
- javascript onclick将onclick更改为新函数
- JavaScript可以根据用户输入创建一个新函数
- Jquery原型与新函数冲突
- 什么'新函数和函数之间的区别
- JavaScript新函数范围ReferenceError
- Javascript新函数构造函数没有't返回所需的值
- 如何在不创建新函数的情况下更改此函数中变量的值
- 向对象添加新函数
- 如何将新函数绑定到元素的 onclick 事件,并使其在所有其他绑定函数之前运行
- 用于初始化对象的编码模式 - 构造函数(新)与 Object.create()(Crockford)
- jQuery - 在事件上创建新函数
- 函数如何在 Javascript 中创建新函数
- 在另一个函数中使用变量,然后调用新函数
- IE7 新函数返回对象而不是函数