У меня странная проблема. Этот код отлично работает в chrome и firefox, но в IE 8 в прямом эфире я не запускаю первый раз, когда снимаю флажок. Если я проверю его, а затем снимите флажок, он будет работать каждый раз после этого.jquery live not firing on first click on the checkbox
Мой серверный код в представлении
<%: Html.CheckBox("select-invoice-" + invoice.InvoiceNumber,
true,
new { title = "choose to not pay anything on this invoice by unchecking this box" }) %>
делает к этому
<input checked="checked" id="select-invoice-TST-1001"
name="select-invoice-TST-1001"
title="choose to not pay anything on this invoice by unchecking this box"
type="checkbox" value="true" />
Вот мой wireup Javascript живое событие, упрощенный
$(function() {
$("[id^='select-invoice-']").live('change', function() {
var invoiceId = $(this).attr('id').substr('select-invoice-'.length);
ComputeTotalPayment();
if ($(this).is(':checked')) {
//save invoice data
} else {
//remove invoice data
}
});
});
Там нет ошибок в JavaScript в любом браузере. Если я переключу IE в режим совместимости, живое событие никогда не будет работать. Другие живые события для кликов по ссылкам работают очень хорошо.
Я не знал, что это была известная ошибка. интересно. Я изменил клик, и все снова в мире. – Josh 2010-12-16 19:57:20