jsplumb中的Click事件处理程序缺少“this”对象
问题描述:
我使用JSPlumb在div元素之间绘制线条。我添加了一个click事件处理程序,我初始化内部功能:jsplumb中的Click事件处理程序缺少“this”对象
init: function() {
jsPlumb.bind('click', function (connection, e) {
// I have the connection object, but not a this context
});
}
这工作得很好,但我真的想有一个这可用的事件处理程序内为好,与上下文init。
答
试试这个:
init: function() {
var that = this;
jsPlumb.bind('click', (function(that) {
return function (connection, e) {
// you can see that here
};
}(this)));
}
答
你可以尝试这样的:
var my_object = {
value: '234234',
init: function() {
var this_object = this;
jsPlumb.bind('click', function (connection, e) {
var _my_object = this_object;
var _jsPlumbInstance = this;
});
}
}
$(function() {
jsPlumb.ready(function() {
// your code here
my_object.init();
});
});
当我尝试访问“”从回归函数中,我得到它没有定义的错误。我可以看到连接对象。 – brinch 2015-04-01 21:37:14
你确定,init函数中的'this'是被定义的吗? – 2015-04-02 07:00:58