/**
* @see 鼠标点击拖拽的效果(页面可以同时拖动多个框)
* @param boxId 整个对象(框)的id(一般为div或table)
* @param event 内置对象(必须传入)
*/
function mousePlead1(event, boxId) {
var o = getO(boxId);
var isIE = document.all ? true : false;
var e = event;
var x = e.offsetX || e.layerX;
var y = e.offsetY || e.layerY;
document.onmousemove = function(e) {
o.style.filter = 'Alpha(opacity=70)';
o.style.opacity = '0.7';
if (isIE) {
o.setCapture();
} else {
window.captureEvents(Event.MOUSEMOVE);
}
var e = window.event || e;
if (e.clientX - x >= 0 && e.clientY - y >= 0 && e.clientX - x <= getWinSize()[0] - getO(boxId).offsetWidth
&& e.clientY - y <= getWinSize()[1] - getO(boxId).offsetHeight) {
o.style.left = (e.clientX - x) + "px";
o.style.top = (e.clientY - y) + "px";
}
};
document.onmouseup = function(e) {
document.onmousemove = function() {
};
if (isIE) {
o.releaseCapture();
} else {
window.releaseEvents(o.MOUSEMOVE);
}
o.style.filter = "";
o.style.opacity = "";
};
}
/**
* @see 获得对象
* @param id 对象的id(表单元素和其他标签都可以)
* @return Object
*/
function getO(id) {
return document.getElementById(id);
}
/**
* @see 获得当前窗体的大小(width,height)
* @return Array
*/
function getWinSize() {
var width = parseInt(document.documentElement.clientWidth);
var height = parseInt(document.documentElement.clientHeight);
return new Array(width, height);
}
首先要能获取到对象(一般都是根据id获取对象,这不是跟你的要求相矛盾了吗?)
然后就简单了。以下是一个根据TagName获取对象的示例,也可以通过class来获取:
function onmousedown(e)
{
var eev=e || event;
var id=ev.target.id;//获取鼠标按下对应的对象的id
var result=$("#"+id).hasClass("idDrag");//判断是否有 class是否是="idDrag"
}
设obj是一个对象,则 obj.id 则是该对象的ID值。