我有一个带有函数的 javascript 类:
function myClass()
{
this.myInit = function()
{
myObj = this;
var id-foo = 'myId';
jQuery('#'+id-foo).bind('click', function() { myObj.foo(id-foo); } );
}
this.foo = function(id) { alert(id); }
}
我只想将 DOM 元素绑定(bind)到事件(单击、dragonstart 等)并使其调用当前对象的函数(实际上是这个)。我尝试直接调用 this.foo 但这不起作用,firebug 告诉我 foo 不是一个函数。我给匿名函数的参数 id-foo 是问题吗? 提前谢谢
最佳答案
您的问题在这里:
var id-foo = 'myId';
这不是有效的变量名称。
另请注意,如果您不对 myClass
实例调用 myInit
函数,您的代码将无法工作。
例如,这是行不通的:
var obj = new myClass();
var f = obj.myInit;
f();
虽然这个应该可以工作:
var obj = new myClass();
obj.myInit();
关于JQuery将dom元素点击事件绑定(bind)到成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13083812/