gpt4 book ai didi

asp.net-mvc-2 - 第一次单击复选框时 jquery live 不会触发

转载 作者:行者123 更新时间:2023-12-01 07:33:06 25 4
gpt4 key购买 nike

我有一个奇怪的问题。此代码在 Chrome 和 Firefox 中运行良好,但在 IE 8 中,当我第一次取消选中某个框时,实时事件不会触发。如果我选中它然后再次取消选中,此后每次都会起作用。

View 中我的服务器端代码

<%: 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" />

这是我的 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 切换到兼容模式,则现场事件将永远无法进行。其他点击链接的实时事件效果很好。

最佳答案

在复选框失去焦点之前,更改事件不会在 IE 中正确触发。

错误:http://webbugtrack.blogspot.com/2007/11/bug-193-onchange-does-not-fire-properly.html

您需要映射到“点击”事件。

关于asp.net-mvc-2 - 第一次单击复选框时 jquery live 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com