嗨,我知道我們可以觸發點擊事件。但我想知道,我們可以觸發mousemove事件,沒有任何用戶實際的鼠標移動。使用Jquery或Javascript觸發mousemove事件
描述:
我想顯示一條消息,當用戶選擇的東西。在畫布上,當用戶單擊畫布顯示的按鈕時,我的畫布具有完整的高度和寬度。當用戶做鼠標移動時,他會看到一條消息「單擊並拖動網頁的任何部分」。此消息跟隨用戶的鼠標移動。
我想要做什麼:
當用戶點擊該按鈕,他應該看到「對網頁的任何部分,單擊並拖動」的消息。並且必須在用戶移動鼠標的地方留言。
問題:
用戶無法看到此消息後點擊直到他/她將他的鼠標。
代碼:
function activateCanvas() {
var documentWidth = jQ(document).width(),
documentHeight = jQ(document).height();
jQ('body').prepend('<canvas id="uxa-canvas-container" width="' + documentWidth + '" height="' + documentHeight + '" ></canvas><form method="post" id="uxa-annotations-container"></form>');
canvas = new UXAFeedback.Canvas('uxa-canvas-container', {
containerClass: 'uxa-canvas-container',
selection: false,
defaultCursor: 'crosshair'
});
jQ(function() {
var canvas = jQ('.upper-canvas').get(0);
var ctx = canvas.getContext('2d');
var x,y;
var tooltipDraw = function(e) {
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.restore();
x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
var str = 'Click and drag on any part of the webpage.';
ctx.fillStyle = '#ddd';
ctx.fillRect(x + 10, y - 60, 500, 40);
ctx.fillStyle = 'rgb(12, 106, 185)';
ctx.font = 'bold 24px verdana';
ctx.fillText(str, x + 20, y - 30, 480);
};
canvas.addEventListener('onfocus',tooltipDraw,0);
canvas.addEventListener('mousemove',tooltipDraw,0);
canvas.addEventListener('mousedown', function() {
canvas.removeEventListener('mousemove', tooltipDraw, false);
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.restore();
}, false);
});
}
jQ('body').on('click', '.mood_img_div', function() {
// alert("soemthing");
toggleOverlay();
activateCanvas();
});
我已經做了這是點擊後調用,但該消息是不可見的功能。有沒有什麼辦法可以第一次使用消息來調用它,並且當用戶使用鼠標時每次都顯示。
我已經取代jQuery的與JQ,因爲我在做我自己的插件(這是不是造成問題的原因)
什麼是'jQUxarmy'?這應該是'jQuery'嗎? –
這是什麼'jQUxarmy'?它是jQuery的編輯版本嗎? – iHasCodeForU
我用我自己的變量jQUxarmy替換了jquery。 –