2011-09-24 20 views
0

我试图阻止多个事件触发。jquery bind stoppropagation回调上下文

我使用一个回调函数传递一个对象,像这样:

function init() { 

    var myObj = this.someObject; 

    $('#id').bind("blur keyup change", function (e, obj) { 
     return function() { 
      SomeFunction(e, obj); 
     } 
    } (this, myObj)); 

} 

function SomeFunction(e, obj) { 
    e.stopPropagation(); 
    //do something with the object 
} 

的错误是,它无法找到函数stopPropagation。

这是因为我在调用函数中将'this'赋值给e。

如何访问SomeFunction中的“事件”?

+0

请忽略此评论 –

回答

1

我想你会想要做这样的事情:http://jsfiddle.net/W47Ky/

+0

谢谢。这真的帮助我理解如何正确传递对象。我现在遇到上下文有问题,我不能再通过'e'访问根变量。见http://jsfiddle.net/W47Ky/1/ 在我可以访问e.nameid之前,但现在它是未定义的。 –

+0

我想通了,我需要将ctx传递给函数。 http://jsfiddle.net/W47Ky/2/ –