Javascript 使img不在html中移动
我的页面上有一个图像,我想在鼠标按下时收听onmousemove事件。但我不能,因为在我的浏览器(Firefox)中,当我拖动图像时,实际上我会拖动图像,这是我不想要的 这是我的密码: JavaScript部分:Javascript 使img不在html中移动,javascript,html,onclick,onmousemove,Javascript,Html,Onclick,Onmousemove,我的页面上有一个图像,我想在鼠标按下时收听onmousemove事件。但我不能,因为在我的浏览器(Firefox)中,当我拖动图像时,实际上我会拖动图像,这是我不想要的 这是我的密码: JavaScript部分: document.onmousemove=getMouseCoordinates; var x; var y; var clicked = false; function getMouseCoordinates(event){ ev = event || window.ev
document.onmousemove=getMouseCoordinates;
var x;
var y;
var clicked = false;
function getMouseCoordinates(event){
ev = event || window.event;
x = ev.pageX;
y = ev.pageY;
}
function onClickMap(){
var obj = document.getElementById("selectArea");
var tempX = x;
var tempY = y;
obj.style.left = tempX + "px";
obj.style.top = tempY + "px";
clicked = true;
}
function onMoveMap(){
if(clicked){
var obj = document.getElementById("selectArea");
var xToSize = Math.abs(parseInt(obj.style.left) - x);
var yToSize = Math.abs(parseInt(obj.style.top) - y);
obj.style.width = xToSize + "px";
obj.style.height = yToSize + "px";
}
}
HTML部分:
<img src="pixels.png" id ="pixelDiv" usemap="#pixelMap" onClick="onClickMap()" onmousemove="onMoveMap()">
这是一个jQuery解决方案 这将禁用所有拖动:
$(document).bind("dragstart", function() {
return false;
});
如果只想禁用img
元素上的拖动:
$(document).bind("dragstart", function(e) {
if (e.target.nodeName.toUpperCase() == "IMG") {
return false;
}
});
您可以添加一个仅返回false的mousedown处理程序。这似乎停止了FF中的拖动。好的,但我想这是firefox特有的,现在我禁用了图像的onlcick和onmove方法,但我仍然可以拖动图像 现在我找到了解决方案,我一直在寻找这个
您不希望图像被拖动?您可以使用CSS
-webkit用户拖动:无代码>但它仅由webkit atm支持。