是否可以在对象(oop)中定义on click事件? 我是新手。 我一直在尝试以下方法:(我简化了代码(没有div等css))
function menu_item(menu_name){
this.menu_name=menu_name;
this.create = function(){
$('body').html("<div id=" + menu_name + " />");
};
$('#' + menu_name).on('click',function(){
alert (menu_name);
});
}
menu_item("test");
menu_item.create();
现在当我点击具有给定menu_name的id的div时, 我想提醒名字(作为测试),但这不起作用...... 这有可能吗?
答案 0 :(得分:2)
是的,有可能。但是,我在代码中看不到任何OOP构造函数 - 您将其称为函数。
当您尝试添加事件侦听器或对create
方法的调用覆盖它时,您的问题似乎是没有具有该ID的元素。
使用此:
function MenuItem(name){
this.menu_name = name;
this.create = function() {
var el = $("<div id=" + menu_name + " />");
el.on('click',function(){
alert (menu_name);
});
$('body').append(el);
};
}
var menu = new MenuItem("test");
menu.create();