是否可以在对象内定义点击事件 (oop)? 我对此很陌生。 我一直在尝试以下操作:(我简化了代码(没有 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 时, 我想提醒这个名字(作为测试)但这不起作用...... 这甚至可能吗?
最佳答案
是的,这是可能的。但是,我在您的代码中看不到任何 OOP 构造函数 - 您将其作为函数调用。
您的问题似乎是当您尝试添加事件监听器时没有具有该 ID 的元素,或者调用您的 create
方法会覆盖它。
使用这个:
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();
关于javascript - oop:点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672378/