Как обработать событие клика в IE8, используя jQuery? - PullRequest
1 голос
/ 13 марта 2012

У меня есть HTML-код

<div class="filters-widget bordered">
<span class="checkbox" style="background-position: 0px 0px; "></span><input type="checkbox" id="sidecity-control-name-2" name="sidecity" class="styled" value="Brisbane">
<label for="sidecity-control-name-2">Brisbane (109)</label>
</div>

И у меня есть этот код js

$(document).ready(
    function () {
        registerClick();
        function formSubmit() {
            this.document.getElementById("filters-form").submit();
        }
        function registerClick() {
            $('.filters-widget.bordered input[type="checkbox"]').bind("click", function () {
            formSubmit();
        });
            $('.filters-widget.bordered span[class="checkbox"]').live("click", function () {
                formSubmit();
            });
            $('.filters-widget.bordered label').bind("mousedown", function () {
                var id = $(this).prop("for");
                var span = document.getElementById(id).previousSibling;
                Custom.pushed.call(span);
            });
        };
    });

Я использую jQuery 1.6.1.В IE8 эта часть кода не работает

$('.filters-widget.bordered input[type="checkbox"]').bind("click", function () {
                formSubmit();
            });

Функция не вызывается.Как решить эту проблему?

1 Ответ

1 голос
/ 13 марта 2012

Флажок не имеет события щелчка. Это не имеет ничего общего с jQuery.

Вместо click вы можете использовать change:

$('.filters-widget.bordered input[type="checkbox"]').bind("change", function () {
    formSubmit();
});

См. Ссылку на jQuery:
http://api.jquery.com/change/

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