我有一个脚本(出于这个问题的目的:),script.js
它被注入到每个页面中(连同jquery.js
)。
script.js
应该向页面添加一个额外的元素(elem
),当点击它时,会调用一个my_func
inside script.js
。
麻烦的是,当元素被点击时,总是有一个ReferenceError: my_func is not defined
, ,但它是在script.js
. 我意识到这与“隔离环境”的事情有关..但我不知道如何解决这个问题..
PS.: Chrome、JS 和 JQuery 的新手。
历史:Python :)
一些代码(只是添加了元素):
function on_ready(){
var wanted = get_desired() // fetch desirable elements
add_to_all(wanted) // this calls add for every element in wanted
}
function add(obj_to_edit) {
if (obj_to_edit.css('position') == 'static'){
obj_to_edit.css('position','relative')}
var elem = $("<div ... onclick='my_func(this)'>...</div>")
obj_to_edit.mouseenter(show_button);
obj_to_edit.mouseleave(hide_button);
elem.prependTo(obj_to_edit);
elem.hide()
}
function my_func(elem){
console.log($(elem).parent().html)
}
$(document).ready(on_ready);
这个想法是当有人将鼠标悬停在某个对象上时,elem
弹出,当用户单击它时,它会记录一条消息。