jquery怎么知道调用当前方法的元素是哪个
问题描述:
怎么获取调用这个方法的元素 现在这样是错的
另外,多个元素的mousedown事件需要调用这个方法,mousedown事件的参数是怎么传递 下面这样吗
$("#_this").children("span").mousedown(function(event){
mouseDown(event)
})
function mouseDown(event){
var spaParentDiv=$(this).parent()
var offsetDiv=spaParentDiv.offset()
$("<div></div>").attr('id','change').css({'border':'1px solid black ','width':'201px','height':'201px','left':offsetDiv.left,'top':offsetDiv.top,'position':'absolute'}).appendTo('body')
window.offsetChange={
x:event.pageX-$(this).parent().attr('offsetLeft'),
y:event.pageY-$(this).parent().attr('offsetTop')
}
$(window).mouseup(function(event){
if(!$('#change'))
return;
var finalyPageX=event.pageX;
var finalyPageY=event.pageY;
finalyLeft=finalyPageX-offsetChange.x;
finalyTop=finalyPageY-offsetChange.Y;
spaParentDiv.attr({'left':finalyLeft,'top':finalyTop})
$('#change').remove()
$('#change')=null
。。。。。。。。。。。。。。。
答
你那样搞mouseDown里面的this指向window,不是span对象了
改下面的,mouseDown中this才是点击的span
$("#_this").children("span").mousedown(function(event){
mouseDown.call(this,event)
})
答
代码太多没有看,但是根据你的问题说,如果想要知道自己点的是哪个元素,可以现在元素上添加自定义属性,点击获取就OK了