MVC3: IE8 вылетает из-за использования JqueryUI в списке - PullRequest
0 голосов
/ 24 февраля 2011

Я использую стек VS2010 + MVC3 (Razor) + IE8 + JQueryUI и пытался создать список кнопок с помощью функции jqueryui .buttons (). Тем не менее, по неизвестной причине он будет постоянно приводить к краху Dev-Webserver + IE8 при нажатии кнопки. Приведенный ниже код необходим и достаточен для демонстрации ошибки. Просто скопируйте его и вставьте в файл Home / Index.chtml и запустите.

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css" type="text/css" media="all" /> 
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js" type="text/javascript"></script> 

<ul>
    <li>
        <div>
            <label for="aa">text</label>
            <input type="checkbox" id="aa" class="theclass"/>
        </div>
    </li>
</ul>
<script type="text/javascript">
                            $(function () {
                                $(".theclass").button();
                            });
</script>

Это прекрасно работает с Chrome, и ошибка также не возникает, если вы перетаскиваете это в простой HTML-файл и работаете вне VS2010, так что это может быть что-то специфическое для MVC / ASP. Удаление окружающего div остановит это от сбоя. Примечательно, что это происходит только тогда, когда кнопка является последней кнопкой в ​​группе div. В качестве хака я добавил пустой элемент div после элемента input, и это предотвратило его падение. Это была очень своеобразная ошибка, и поэтому я публикую это здесь на случай, если у кого-то возникнут аналогичные проблемы.

Приветствие Rob

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Это также случилось со мной, но не с VS2010 и не с MVC, это просто то, что происходит с кнопкой jQueryUI ...

Мое решение было простым, оберните нарушающие элементыТег SPAN.В приведенном выше примере это должно решить проблему ...

<span class="theclass"><input type="checkbox" id="aa"></span>
0 голосов
/ 24 февраля 2011

IE8 имеет целую кучу ошибок. Лучшее предложение - взглянуть на этот список ошибок IE8. Я использую этот список всякий раз, когда нахожу ошибку IE8.

http://jhop.me/ie8-bugs

Самым близким, что я могу найти на этой странице, будет следующая ошибка javascript.

Использование querySelectorAll в операторе, который выходит из цикла for, вызывает полный программный сбой. Возможно, метод jQuery вызывает это или метод кнопки вызывает это. Почему вы пытаетесь сделать флажок в кнопку? Я не думаю, что метод кнопки должен работать так.

...