3

別のキャンバスの上に透明な背景を持つキャンバスがあり、両方の要素でマウスイベントを登録したいと考えています。ただし、上部のキャンバスは、マウス イベントが下部のキャンバスに到達するのを防ぎます。最善のアプローチは何ですか?

     <div class="outer">
      <div class="inner" id="canvas_container_1"></div>  
      <div class="inner" id="canvas_container_2"></div>   
     </div> 
4

2 に答える 2

0

あなたができることは、次のようなすべての要素でトリガーをシミュレートすることです:http: //jsfiddle.net/AzNQb/

var handler = function(e) {
    // the actual handler
    console.log(e.pageX, this);
};

$(".inner").on("mousedown", function(e) {
    var args = arguments;
    var value;
    $(".inner").each(function() {
        // call handler for each element; preserve `return false` functionality
        if(handler.apply(this, args) === false) {
            value = false;
            return false;
        }
    });
    return value;
});
于 2012-08-31T12:27:56.577 に答える
0

両方とも、内側の 2 つのキャンバスのことですか?

はい = の場合は、「内部」クラスにイベント リスナーを追加するだけです。

$('.outer').on('click','.inner',function() { ... })

于 2012-08-31T12:18:23.363 に答える