javascript
  • html
  • dom
  • mouseevent
  • addeventlistener
  • 2015-09-26 37 views 1 likes 
    1

    我想创建一个简单的拖动和调整大小的系统,我有添加事件监听器到我的分频器的问题。而不是与类“draggablePanel”添加事件侦听器的可怕量到我的HTML到每一个除法:包含HTML DOM到addEventListener()

    <div id="content"> 
        <div class="draggablePanel" onmousedown='dragShift.dragStart(this,this.parentElement,event)' onmouseup='dragShift.dragEnd(this.parentElement); dragShift.dragHover(this,this.parentElement,event)' onmouseenter= 'dragShift.dragHover(this,this.parentElement,event)' onmouseleave='dragShift.dragEnd(this.parentElement),dragShift.dragLeave(this.parentElement)';> 
         Content 
        </div> 
    </div> 
    

    我试图使用addEventListeners()作业:

    function addDragPanels(panelArrayName) { //Add the mouse event listeners to draggable panels 
        if (document.getElementsByClassName) {  //Access every divider with the "draggablePanel" class 
         var divEle; 
         var draggablePanels = document.getElementsByClassName(panelArrayName); 
         for(var ctr=0;ctr<draggablePanels.length;ctr++){ 
          divEle = draggablePanels[ctr]; 
          divEle.addEventListener('mousedown', dragShift.dragStart(this,this.parentElement,event),false);  //How do i go about editing this? 
          divEle.addEventListener('mouseup', dragShift.dragEnd(.... etc    
         } 
        } 
    } 
    
    if (document.readyState === "complete") { 
        addDragPanels("draggablePanel"); 
    } 
    

    基本上,我使用三个参数:this,this.parentElement,event。当我使用addEventListener()时,如何正确传递这些参数?我需要“事件”参数来跟踪拖动Javascript函数中的鼠标位置。

    在此先感谢您提供的任何帮助。对不起,如果这个问题是愚蠢的以前已经问过,但我无法找到任何地方的解决方案(或者我不知道在哪里,看什么)。

    回答

    2

    从哪里得到这个'dragShift'元素?请参考我的来源。

    某些浏览器不支持'addEventListener()'。 因此,你可以使用:

    divEle.onmousedown = function(){dragShift.dragstart(this,this.parentElement,event);}; 
    

    或使匿名函数,然后将其放在:

    divEle.addEventListener('mouseup',function(){dragShift.dragStart(this,this.parentElement,event);},false); 
    

    请让我知道,如果它的任何作品!

    +0

    我不知道我必须在addEventListener函数中包含function(){f}作为第二个参数。它现在正常工作,谢谢! – Soggeh

    +0

    欢迎:)快乐编码! –

    相关问题