2013-05-21 5 views
2

У меня есть DIV со следующими правилами:Почему не будет div с перетаскиванием прокрутки в IE 8?

div#eventBox 
{ 
    overflow: auto; 
    text-align: center; 
    height: 300px; 
    border: 2px inset #888; 
    width: 95%; 
    margin: auto; 
    -moz-border-radius: 5px 0px 0px 5px; 
    -ms-border-radius: 5px 0px 0px 5px; 
    border-radius: 5px 0px 0px 5px; 
    background-color: #1a5c17; 
    background-image: url("/Images/Background_Images/GrungePaper.jpg"); 
    behavior: url(/Resources/PIE.htc); 
} 

Все прекрасно работает в нем, за исключением IE 8 (тесты тонких в IE 9). В IE 8, когда я пытаюсь «щелкнуть и перетащить» полосу прокрутки, она сразу же становится «unclicked» сразу после mousedown, не позволяя пользователям IE на 32-битных машинах использовать эту функцию прокрутки. Все остальное о полосе прокрутки отлично работает, например, щелкая стрелки, щелкая пробел между стрелкой и полосой прокрутки и используя колесико мыши.

Я попытался удалить правило behavior: url(/Resources/PIE.htc);, но проблема не устранена.

Do div с автоматическим переполнением не работают/имеют ошибки в IE 8?

Кроме того, это было протестировано в 32-битных и 64-битных версиях FF и Chrome, и там все отлично работает.

Update:

Я испытал это последовательно, и я не могу показаться, чтобы выяснить, что происходит, и я не могу увидеть любые примеры этого никогда не происходит с другими лицами в Интернете. Я проверил его с единственным правилом для div#eventBox: overflow: auto;, overflow: scroll;, overflow-y: auto; и/или overflow-y: scroll; и проблема STILL сохраняется. Каждый раз, когда я нажимаю полосу прокрутки в IE 8 (без режима совместимости), она теряет фокус.

Мне сложно поверить, что это известная ошибка (из-за нулевых релевантных результатов поиска), так как нужно полагать, что это то, что я перепутал, поскольку все, что требуется, - это один div с переполненным контентом создавая полосу прокрутки, чтобы вызвать этот сбой.

Если бы я был богатым человеком, когда разрабатывался Internet Explorer 8, я бы с радостью заплатил за каждого из Team Project Team от Microsoft, чтобы взять класс на «лучшие практики» и «придерживаться стандартов».

не Update 2:

На самом деле, если я дважды щелкните полосу прокрутки очень быстро и удерживайте второй щелчок, я могу на самом деле ухватить его в IE 8. Конечно, это еще не хорошо с точки зрения конечного пользователя, но, возможно, это поведение поможет объяснить причину.

Final Update (Solution):

С совет, который я получил от комментариев на этот пост, я решил удалить все сценарии и CSS и начать добавлять вещи обратно, один за один раз. Ошибка была не в любом скрипте, а в CSS. По какой-то причине behavior: url(/Resources/PIE.htc);, установленный на обертке главного сайта div (выше дерева DOM из элемента проблемы), по-видимому, вызывал проблему. Я до сих пор не знаю, как, но решение для меня состояло в том, чтобы просто удалить PIE из этого элемента, который, в свою очередь, нарушил две другие ссылки PIE, которые я смог исправить, установив их положение в относительный. На данный момент все работает нормально в IE 8, но в тот момент, когда я испытываю любые другие проблемы в результате использования PIE, я очищу его с моего сайта.

+0

У вас есть JavaScript на странице, которая перехватывает mouseDown или нажмите события? –

+0

@SetSailMedia Да, сэр, я делаю – VoidKing

+0

@SetSailMedia У меня есть несколько '$ (" # elementID "). Click (function() {// здесь что-то делать}); jQuery обработчики событий, чтобы быть конкретным. – VoidKing

ответ

2

Попробуйте изменить overflow: auto; к overflow: scroll;

Извините за размещение этого в очень короткий ответ вместо комментария, но я совсем свежий здесь и с моей репутацией, я не думаю, что комментирование включен для меня.

+0

Это нормально, хотя, я думаю, S.O. предположил бы, что вы делаете несколько вещей, чтобы создать достаточную репутацию для комментариев, прежде чем просто отправлять ответы в виде комментариев (я не думаю, что это требует слишком многого, но я точно не помню). Это было сказано, я благодарю вас за помощь, но в последнем обновлении к моему вопросу я заявил, что уже нашел решение этой проблемы (возможно, я должен опубликовать это как ответ, и для других было бы проще видеть...). Я пробовал ваше решение раньше, но безрезультатно, но это была действительно проблема с PIE. В эти дни я использую его только в том случае, если мне действительно нужно только – VoidKing

+0

Но опять же, спасибо за попытку помочь :) – VoidKing

+0

И спасибо вам за поддержку:] Извините, я не видел, что это была проблема:] – Joker21srb

Смежные вопросы