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了