Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM元素dblclick事件在删除DOM元素时单击事件后发生更改_Javascript_Dom_Javascript Events - Fatal编程技术网

Javascript DOM元素dblclick事件在删除DOM元素时单击事件后发生更改

Javascript DOM元素dblclick事件在删除DOM元素时单击事件后发生更改,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,我在Firefox上遇到了一个奇怪的问题,似乎在safari上不会发生 有一个包含一组行的表,每个行都有自己的onclick和ondblclick事件。双击其中一个对象时,它首先触发onclick关联函数(如预期的那样),其中删除另一行(与双击的行不同)。之后,与dblclick关联的函数将不会启动 如果我对删除该行的行进行注释(如我所说,不是单击的行,而是另一行),那么onclick和ondblclick事件都将触发。。。我为您附上两个事件函数的代码: ret.onclick = functi

我在Firefox上遇到了一个奇怪的问题,似乎在safari上不会发生

有一个包含一组行的表,每个行都有自己的onclick和ondblclick事件。双击其中一个对象时,它首先触发onclick关联函数(如预期的那样),其中删除另一行(与双击的行不同)。之后,与dblclick关联的函数将不会启动

如果我对删除该行的行进行注释(如我所说,不是单击的行,而是另一行),那么onclick和ondblclick事件都将触发。。。我为您附上两个事件函数的代码:

ret.onclick = function(){
    // Trigger click event
    var evt = arguments[0] || window.event;
    self.signalClick(evt.target || evt.srcElement);

    if(elem == this.selected) return;

    if(self.selected != null){
        // Set list element to not selected
        var telem = document.getElementById(self.getChildID(self.selected['id']));
        telem.setAttribute('class', 'gui_list_uselected');

        // Remove previously selected element summary
        var telemexp = document.getElementById(self.getChildID(self.selected['id']) + '_exp');
        if(telemexp) telemexp.parentNode.removeChild(telemexp); // FAULTY LINE!
    }

    ret.setAttribute('class', 'gui_list_selected');
    self.selected = elem;

    // Add element summary to the list
    appendAfter(ret, self.drawSummary(elem));
};

ret.ondblclick = function(){
    // Trigger double click event
    var evt = arguments[0] || window.event;
    self.signalDblClick(evt.target || evt.srcElement);
};

Firefox工作正常。根据说明,onclick在ondblclick之前启动。
检查此项以克服此问题。

已解决此问题。问题出在“if(elem==this.selected)return;”行上,它必须是self.selected,才能引用类,而不是DOM对象。。。