在一个原型方法我有这样的代码:如何将变量传递给事件中的构造函数方法?
DragDrop.prototype.startDrag = function() {
// ... other code
this.mouseMove = this.drag.bind(this);
...
的.bind只是所以我可以指从我请(this.drag)的功能的对象。
(事件不能是匿名函数,因为我需要后来不然我会永远被拖动删除...)
...
window.addEventListener('mousemove', this.mouseMove, false);
}
然后这是我使用上述功能。这在Safari和Chrome中都可以正常工作,但在Firefox中未定义。
这是如何解决的?
作为一个方面说明,我是新来的构造函数,并希望知道是否有另一种方法来做到这一点/没有绑定。在理想的世界中,我想将更多的变量传递给.drag函数。
你是什么意思“*我想将更多的变量传递给.drag函数。*”你不应该只使用实例属性吗? – Bergi
为所有事情使用实例属性是否更好?我只是想能够返回函数中的值来减少这些:http://imgur.com/8ShLB4S。 是否可以将参数传递给绑定(绑定?!)函数? –
对编码实例状态的所有内容使用实例属性。没有很多变数,但我不确定你所指的是什么。你可以更具体一点*你想传递什么*变量?不,事件处理程序不能有返回值。 – Bergi