创建的DIV内部的链接导致悬停时删除了DIV
Link inside created DIV cause the div removed on hover
这是我的代码:
var tagDes = document.createElement('DIV');
tagDes.className = 'tagDes';
tagDes.style.cssText = 'position:absolute;'+
'background:#282828;'+
'color:#fff;'+
'padding:10px;'+
'top:'+(posX+hei)+'px;'+
'left:'+(posY+wid)+'px;'+
'font-size:10pt;';
tagDes.onmouseout = function(){
$(this).remove();
};
$('#main-container').append(tagDes);
$('.tagDes').append(array[5]+'<a class="tagMenu">sdsdssds</a>');
posX,posY,hei,wid是指用于定位的元素。array[5]是一个字符串。我想将鼠标悬停在li
上,然后创建包含链接(tagMenu
类)的div(看起来像title
属性)。但是,当我将链接悬停在该div内时,div将remove()
。我要找的是,当我悬停在链接上时,div仍然可见,当我从中mouseout
时,它将从页面中删除。有什么建议吗?请帮帮我。
试试这样的东西:
tagDes.onmouseout = function(e){
if (e.toElement.parentNode == this || e.toElement == this) {
return;
}
$(this).remove();
};
如果我理解正确,您希望将onmouseout
事件绑定到内部链接元素。然后代码可以是这样的(我使用了更多的jQuery来简化它):
var $tagDes = $('<div class="tagDes"></div>').css({
background: '#282828',
color: '#fff',
padding: '10px',
top: (posX + hei) + 'px',
left: (posY + wid) + 'px',
fontSize: '10pt'
})
.append(array[5] + '<a class="tagMenu">sdsdssds</a>')
.appendTo('#main-container');
$tagDes.on('mouseleave', function() {
$tagDes.remove();
});
相关文章:
- 只从DIV删除图像,而不是整个网站
- jQuery在5秒钟后隐藏/删除DIV内容
- 从移动视图中删除 Div
- 使用JQuery在DIV中动态添加和删除广告代码
- 用jQuery删除的Div仍然存在
- 如何使用 JQuery 切换 DIV 后删除追加的元素
- 如何使用 id 删除 JavaScript 中的 Div 元素
- 从单个 Div 元素中删除单击事件
- 溢出:删除元素时,带有子 TABLE 滚动条的 DIV 上的自动滚动条会保留
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 垂直标签:删除没有jQuery或固定位置属性的UL和DIV中断
- 点击删除附加的 Div - JQuery
- 删除除 DIV 中的按钮以外的所有 HTML
- 防止在TinyMCE中删除DIV元素
- 删除Parent Div以在不设置样式的情况下正确显示Form Input Element
- 切换删除Div's基于浏览器大小
- #Dart:当jquery向Dart回调方法触发事件时,Div将被删除
- 单击创建 DIV;然后通过单击它删除相同的 DIV
- 如果没有使用Greasemonkey的id,我将如何删除DIV
- DIV在删除DOM元素时没有显示,函数知道DOM元素被删除了吗?