2012-03-13 2 views
1

У меня есть HTML-кодКак обработать событие click в IE8 с помощью jQuery?

<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(); 
      }); 

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

+0

$ (». Filers и т.д. ") выключен (" щелчок ") на (" клик. ", function() {}); Вы уверены, что у вас есть правильные селектор? – jacqijvv

+0

Этот код работает в IE9 – BILL

+0

Почему вы хотите сделать заявку на событие с заменой флажка? – jacqijvv

ответ

1

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

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

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

Смотрите ссылку JQuery:.
http://api.jquery.com/change/

+0

в других браузерах. – BILL

+0

@ntziolis Я согласен, что должен работать, и это событие изменения, а не клик. Еще раз, я не правильно прочитал вопрос. – jacqijvv

+0

@Victor jQuery гарантирует, что событие «change», вызванное во всех поддерживаемых браузерах, некоторые браузеры также могут поднять событие «щелчок», но это НЕ гарантировано, поэтому просто используйте событие «change», тогда вы убедитесь, что оно работает – ntziolis