如何使用jQuery处理IE8中的click事件?

时间:2012-03-13 18:12:02

标签: jquery internet-explorer-8 event-handling

我有一些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 个答案:

答案 0 :(得分:1)

复选框没有点击事件。这与jQuery没什么关系。

您可以使用click代替change

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

参见jQuery参考:
http://api.jquery.com/change/