在动态添加的元素的onclick处理程序中引用JavaScript函数
Referencing a JavaScript function in the onclick handler of a dynamically added element
我正在浏览一堆元素,并希望添加一个链接,该链接将运行一小段JavaScript。我正在做的将一个Chrome扩展中的内容脚本。函数do_something
与my_func
在同一个文件中定义,并且是Chrome扩展的一部分。
my_func
看起来像这样:
function my_func() {
$(".matching_class").each(function() {
$(this).html('<a href="javascript:do_something();">foo</a>');
});
}
问题是,当我点击我闪亮的链接时,我会得到这个:
未捕获引用错误:未定义
do_something
如何从my_func
引用do_something
?
最好将函数绑定到超链接的点击事件,而不是注入对javascript:my_func()的调用;
以下内容(未经测试):
$(".matching_class").each(function() {
$this.bind('click', do_something);
});
或具有匿名功能:
$(".matching_class").each(function() {
$this.bind('click', function() {
//do_somethintg code
});
});
尝试将do_something
函数放在my_func
之前。
这可能是因为当您调用do_something时,它可能找不到my_func,因为它是在my_func之后定义的。
因为JavaScript引擎是一个解释器,它解释JavaScript源代码并相应地执行脚本。
相关文章:
- 为什么我可以引用Javascript中尚未定义的变量
- 有没有一种方法可以通过只引用JavaScript来执行代码
- 什么's使用链接和脚本标记引用JavaScript源之间的区别
- 引用Javascript中的索引集合
- 通过引用Javascript中的另一个函数来传递对象方法
- 如何从onclick字符串中引用javascript对象函数
- 在jquery事件中引用javascript对象
- 通过动态创建数组名称在单击函数中引用 javascript 数组
- 引用javascript嵌入资源,但intellisense没有'我什么也不展示
- 对象属性引用JavaScript中的其他对象属性
- 引用JavaScript变量
- 如何通过引用(javascript)从数组中删除对象
- 我的无引用 JavaScript 对象存在在哪里以及存在多长时间
- 引用javascript对象内的另一个字段
- 如何在启动之前引用javascript窗口元素
- Google Drive是否不再允许从其他网站引用JavaScript文件
- XUL不引用javascript文件
- 我们可以在浏览器会话中跨网页引用 JavaScript 变量吗?
- 如何查找哪些ASPX文件实际引用JavaScript文件
- 从 Jasmine 测试中引用 JavaScript 文件