Kinetic.js 3目前无法在Firefox中运行。 (见bug 835064) 似乎Firefox确实handle mouse events differently than other browsers,但我不确定是否可能有一个简单的解决方法来解决这个拖延问题,或者是否必须为Kinetic.js 4.0+完全重写一个web-app(它在Firefox中有效) )?
答案 0 :(得分:0)
没有测试过,但你可以尝试一下。
<script src="https://local-py.googlecode.com/svn-history/r7/trunk/js/kinetic-v3.10.1.js"></script>
<script>
/* 3.10.1 */
//Kinetic.Stage.prototype._setMousePosition = function(evt) {
// var mouseX = evt.offsetX || (evt.clientX - this._getContentPosition().left + window.pageXOffset);
// var mouseY = evt.offsetY || (evt.clientY - this._getContentPosition().top + window.pageYOffset);
// this.mousePos = {
// x: mouseX,
// y: mouseY
// };
//}
/* 4.3.1 */
Kinetic.Stage.prototype._setMousePosition = function(evt) {
var mouseX = evt.clientX - this._getContentPosition().left;
var mouseY = evt.clientY - this._getContentPosition().top;
this.mousePos = {
x: mouseX,
y: mouseY
};
}
</script>
答案 1 :(得分:0)
这似乎是Firefox在Azure画布中使用Cairo的一个错误。这显然总是发生在使用开罗后端的Firefox 18-19中,并且是fixed in Firefox 20。