如何强制Opera的悬停触发

时间:2010-08-18 21:32:44

标签: javascript css hover opera

我在Opera浏览器中悬停有一个奇怪的问题。 这是测试用例:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>opera hover issues</title>
</head>

<style>
    .item {
        background-color:pink;
        border:1px solid red;
        color: maroon;
        height:100px;
        width:300px;
    }   

    .item a { 
        display:none;
    }   

    .item:hover a{
        display:block;
    }   

    .item a:hover {
        font-weight:bold;
        background-color: yellow;
    }   
</style>

<body>
    <div class="item">
        an item - 0 
        <a href="javascript:void(0)">remove</a>
    </div>
    <div class="item">
        an item - 1 
        <a href="javascript:void(0)">remove</a>
    </div>
    <div class="item">
        an item - 2 
        <a href="javascript:void(0)">remove</a>
    </div>
</body>

<script>
    document.onclick = function(evt) {
        var el = evt.target;
        if (el.nodeName == 'A') {
            var to_remove = el.parentNode;
            to_remove.parentNode.removeChild(to_remove);
        }
    }
</script>

尝试点击第一项“删除”链接 正如您将能够看到的那样,在Opera中(至少在Opera 9.61中),在鼠标移动之前,不会触发定义的悬停。

有没有人试图解决这个问题?

提前感谢!

2 个答案:

答案 0 :(得分:0)

我已经尝试过 -   - 强制onscroll触发器,调用window.scrollBy;   - 通过隐藏/显示元素强制重排/重绘;   - 设置marginTop并将其重置为默认值。

Helas,问题仍然存在(

答案 1 :(得分:0)

有趣的案例。我没有答案,但我想请你在https://bugs.opera.com/wizard/上向Opera报告一个错误,如果你还没有。