固定されていない要素から別の親を持つ固定された要素に mousemove イベントを「バブル」させたいですか? 自分でチェックしてトリガーする必要があると思います:
固定されていない要素のラッパーを作成します。これは、mousemove イベント リスナーも取得します。mousemove が固定要素上にある場合 (clientX と clientY を確認)、固定要素で mousemove イベントをトリガーします。
たとえば、firefox でテストした場合:
function onCanvasMouseMove(oEvent) {
console.log(oEvent);
}
// wrapper mousemove handler:
// if the mouse is over the canvas, trigger mousemove event on it.
function onWrapperMouseMove(oEvent) {
if (
oEvent.clientX <= oCanvas.offsetWidth
&& oEvent.clientY <= oCanvas.offsetHeight
) {
oEvent.stopPropagation();
var oNewEvent = document.createEvent("MouseEvents");
oNewEvent.initMouseEvent("mousemove", true, true, window, 0, oEvent.screenX, oEvent.screenY, oEvent.clientX, oEvent.clientY, false, false, false, false, 0, null);
oCanvas.dispatchEvent(oNewEvent);
}
}
var oCanvas;
window.onload = function() {
oCanvas = document.getElementById('canvas');
oCanvas.addEventListener('mousemove', onCanvasMouseMove, false);
// add mousemove listener to none-fixed wrapper
var oWrapper = document.getElementById('wrapper');
oWrapper.addEventListener('mousemove', onWrapperMouseMove, false);
};
この例も参照してください。
Ps: バブリングという言葉は適切ではありません。通常は、イベントを親要素にバブリングすることを意味します。