jQuery 1.7.1 ButtonSet в IE8 не всегда запускает событие изменения - PullRequest
0 голосов
/ 19 февраля 2012

Видение проблемы с набором кнопок jQuery UI только в IE8. Под IE 8, buttonset не всегда запускает событие изменения.

<!DOCTYPE html>
<html>
<head>

<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/themes/south-street/jquery-ui.css" rel='stylesheet' type='text/css'>

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/jquery-ui.js"></script>

<script language="javascript">

    $(document).ready(function () {
        $("#toolGroup").buttonset();
        $("#toolGroup").change(
        function () {
            alert("hi");
        }
        );
    });

</script>
</head>
<body>

    <div id="toolGroup">
        <input name="marker" type="radio" id="check1" value="point" checked /><label for="check1"><img src="/images/point.png" width="40" /></label>
        <input name="marker" type="radio" id="check2" value="line" /><label for="check2"><img src="/images/line.png" width="40" /></label>
        <input name="marker" type="radio" id="check3" value="polygon" /><label for="check3"><img src="/images/polygon.png" width="40" /></label>
    </div>

</body>
</html>

Внешний вид, в основном, в порядке. Все выровнены. Углы кнопок не закруглены. Когда я нажимаю на кнопки, они нажимают.

Но я могу кликать взад-вперед несколько раз, и событие изменения, кажется, срабатывает случайно. Это абсолютно противоречиво.

В Chrome он срабатывает каждый раз.

Есть идеи?

Это связанный вопрос о SO. В нем говорится о поддержке события click. Я попробую это после того, как отправлю это, но это не та мнемоника, которую я хочу. Я хочу "изменить".

1 Ответ

1 голос
/ 19 февраля 2012

Internet Explorer запускает событие «изменение» только тогда, когда элемент управления теряет фокус.Поэтому он в основном сломан и бесполезен для многих целей.Использование «клика» - действительно лучшая альтернатива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...