IE7 элемент не может быть нажата - PullRequest
2 голосов
/ 05 марта 2011

Я сузил дефект до этого образца, где цифра «1» недоступна в IE7 (только):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>Click 1</title>
    <style type="text/css">     
        div   { position: absolute; overflow: auto; }
        table { position: relative; }
        span  { position: fixed; top: 100px; }
    </style>
</head><body>
    <div>
        <table>
            <tr>
                <span onclick='alert(1)'>1</span>2
            </tr>
        </table>
    </div>
</body></html>

Может ли кто-нибудь определить основную причину, чтобы я понимал мои варианты обходных путей?

Я использую весь CSS, представленный здесь, для создания сортируемой таблицы прокрутки с фиксированной головкой. В исходном коде span фактически находится в TH, фиксируя заголовки над таблицей прокрутки через отрицательное поле, позволяя средству визуализации таблиц учитывать текст заголовка в ширине столбца без дублирования таблицы или таймеров, имитирующих onResize.

Ответы [ 2 ]

2 голосов
/ 05 марта 2011

Удаление position: relative из div исправляет это.

Если это не вариант, я также обнаружил, что добавление *display: inline к div исправляет это.

Звездочка перед display - это CSS-хак, чтобы применить правило только к IE7 и ниже. Это не удивительный способ использования, потому что это недопустимый CSS, но он работает и не вызывает проблем.

Если ни одна из этих идей не работает для вас, было бы полезно увидеть более полный контрольный пример, чтобы понять, почему.


Ваш оригинальный код, но с <span onclick='alert(1)'>, поэтому JavaScript работает:
http://jsbin.com/aretu5 (не могу щелкнуть по нему в IE7)

То же самое, с удаленным position: relative:
http://jsbin.com/aretu5/2 (работает в IE7)

То же самое, с position: relative все еще там и *display: inline добавлено:
http://jsbin.com/aretu5/3 (работает в IE7)

1 голос
/ 05 марта 2011

попробуйте использовать скобки

<span onclick='sortTable()'>1</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...