我有一个脚本(出于这个问题的目的:),script.js它被注入到每个页面中(连同jquery.js)。
script.js应该向页面添加一个额外的元素(elem),当点击它时,会调用一个my_funcinside 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弹出,当用户单击它时,它会记录一条消息。