将HTML DOM包含到addEventListener()中

索格

我正在尝试创建一个简单的拖动和调整大小系统,并且在将事件侦听器添加到分隔符时遇到问题。与其将大量的事件侦听器添加到我的HTML中,而不是将每个事件分隔器添加到类“ draggablePanel”:

<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正确传递这些参数?我需要“事件”参数来跟踪拖动的Javascript函数中的鼠标位置。

在此先感谢您提供的任何帮助。抱歉,以前有人问过这个问题,但是我只是在任何地方都找不到解决方案(或者也许我不知道在哪里看什么)。

桑迪潘古哈

您从何处获得此“ dragShift”元素?请参考我的来源。

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

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

或创建一个匿名函数,然后将其放入其中:

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

如果有任何效果,请告诉我!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章