Javascript 被';鼠标向下';事件

Javascript 被';鼠标向下';事件,javascript,sync,famo.us,mousedown,Javascript,Sync,Famo.us,Mousedown,我注意到在Famo.us的GenericSync类中有一些奇怪的行为。如果在曲面上添加“mousedown”事件,它只会阻塞引擎上的GenericSync。只要把小提琴上的最后一行注释掉就可以看出问题所在 这是一个更大的计划的最后一个谜题,所以如果你有一个看,请尝试保持一个类似的结构(我的意思是请使用同步引擎)。任何肮脏的黑客都是受欢迎的,我只是对一个优雅的解决方案失去了希望 谢谢, 戴夫 David Szucs于2014年8月11日更新 如何捕获曲面上的mousedown事件以及触发全局同步

我注意到在Famo.us的GenericSync类中有一些奇怪的行为。如果在曲面上添加
“mousedown”
事件,它只会阻塞引擎上的GenericSync。只要把小提琴上的最后一行注释掉就可以看出问题所在

这是一个更大的计划的最后一个谜题,所以如果你有一个看,请尝试保持一个类似的结构(我的意思是请使用同步引擎)。任何肮脏的黑客都是受欢迎的,我只是对一个优雅的解决方案失去了希望

谢谢, 戴夫

David Szucs于2014年8月11日更新


如何捕获曲面上的
mousedown
事件以及触发全局同步上的
start
事件

我认为这就像是在你点击的物品上方的zIndex中添加了一些东西。如果通过曲面进行管道同步,它将再次工作。不确定这是否有帮助,也许如果我对你在做什么有一点了解,我可以进一步帮助你。

你好,大卫&欢迎光临。最好将你的问题表述为一个问题,这样它就可以被回答,而不仅仅是一个观察。好的,很抱歉遗漏了这个问题。我需要一致的鼠标同步,但
mousedown
事件会在曲面上阻止它。我可以在全局同步上发出
mousedown
事件吗?或者可以在该曲面中设置管道,以便它也可以触发sync类中的事件,以便它可以捕获并触发
start
事件?谢谢你这么快就回顾了这件事…我想我还不够清楚。。。第一个问题,很抱歉。:)目标是捕获表面上的
mousedown
事件,以及触发sync
start
事件。有什么想法吗?添加surface.pipe(同步);就在引擎同步完成后,你在控制台上写下了这两个事件。最后一个谜题出现了!非常感谢你的完美答案,我想我有点过于复杂了。
define('main', function (require, exports, module) {
    var Engine = require('famous/core/Engine');
    var EventHandler = require('famous/core/EventHandler');
    var Surface = require('famous/core/Surface');    
    var mainContext = Engine.createContext();    
    var surface = new Surface({
        size: [400, 200],
        content: "Drag on me",
        properties: {
            background: "red",
            lineHeight: "200px",
            textAlign: "center",
            color: "white"
        }
    });    
    var eventHandler = new EventHandler();
    surface.pipe(eventHandler);  
    mainContext.add(surface);    
    var GenericSync = require("famous/inputs/GenericSync");
    var MouseSync = require("famous/inputs/MouseSync");
    var TouchSync = require("famous/inputs/TouchSync");
    var ScrollSync = require("famous/inputs/ScrollSync");    
    GenericSync.register({
        mouse: MouseSync,
        touch: TouchSync,
        scroll: ScrollSync
    });
    var sync = new GenericSync();    
    sync.addSync(["mouse", "touch", "scroll"]);
    sync.on("start", function (event) {
        console.log("SyncStart");
    });    
    sync.on("update", function (event) {
        surface.setContent(event.delta[0] + ", " + event.delta[1]);
    });    
    sync.on("end", function (event) {
        console.log("SyncEnd");
        surface.setContent("0, 0");
    });   
    Engine.pipe(sync);    
    // comment out this line to see the sync fail :(
    //surface.on('mousedown', function(e) {console.log('The down of the mice');});
});