[英]How to select a list item only when hovering on the text using Javascript
我在运行时在无序列表中创建一个列表项,如下所示:
// Javascript code
var items = document.getElementById("list");
var item = document.createElement("li");
item.className = "ItemClass";
item.innerHTML = "Item";
items.appendChild(item);
document.getElementById('list').addEventListener('click', function (event) {
if ('LI' != event.target.tagName) return;
// Call a javascript function here
}, false);
// Css Code
#list
{
font-size: 14px;
color: #069;
}
#list ul
{
list-style:none;
}
#list ul li
{
padding-bottom: 5px;
}
.ItemClass:link
{
color: #069;
text-decoration: none;
}
.ItemClass:visited
{
color: #069;
text-decoration: none;
}
.ItemClass:hover
{
color: #000000;
font-size: 20px;
text-decoration: none;
}
我希望能够格式化列表,以便仅当文本直接悬停在项目上时才可以选择/突出显示项目,而不是悬停在其旁边的空白处等时才可以选择/突出显示该项目。 目前可以选择它,并且即使不直接悬停也可以触发javascript事件。 在制作单个应用程序应用程序时,我不希望页面刷新,因此我认为我不能使用a href.
我该如何解决这个问题,谢谢!
默认情况下, UL
元素是块级元素。 这意味着它会占用尽可能多的水平空间。 您可以将它设置为某些特定宽度的inline-block
(可能是更好的选择,但这取决于您的情况):
ul {
display: inline-block;
}
尝试在列表项中使用标签,并防止执行默认操作
https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.