gpt4 book ai didi

javascript - 表上的更改事件在 IE 中失败

转载 作者:行者123 更新时间:2023-11-28 03:01:15 25 4
gpt4 key购买 nike

我正在使用 jQuery 捕获表上的更改事件。该表有很多行,每行都有几个输入框和一个复选框。为此,我使用事件委托(delegate)。我正在捕捉 body 层面的任何变化。这是下面的代码

$j('#orderItems tbody').change(function (event) {
var target = $j(event.target);
var nodeName = $j(target).attr('nodeName').toLowerCase();
if (nodeName == 'input') {
if ($j(target).hasClass('partnum')) {
var val = $j(target).attr('value');
dsOrder.getItem(target);
dsOrder.updateActiveIndex(target);
}
if ($j(target).hasClass('qty')) {
var val = $j(target).attr('value');
dsOrder.updateQty(target);
dsOrder.updateActiveIndex(target);
}
if ($j(target).hasClass('unitprice')) {
var val = $j(target).attr('value');
dsOrder.updatePrice(target);
dsOrder.updateActiveIndex(target);
}
}
})

此代码在 Firefox 中运行良好,但在 IE 中未捕获更改事件。我想使用事件委托(delegate)来实现此解决方案,而不是将每个事件附加到每个输入元素上。我还想避免使用 jQuery 来定位每个元素,因为表行是动态构建的,并且解除绑定(bind)/绑定(bind)事件似乎有点困惑(只是我的意见)

关于如何让它发挥作用有什么想法吗?

最佳答案

您实际上是使用冒泡来获取祖先元素上的事件,而不是捕获(IE 不支持,jQuery 也不使用)。不幸的是,同时 onchange bubbles in the DOM specdoes not in IE .

我认为你只需要瞄准输入即可。 (不幸的是,“live”功能也不支持 onchange。)

关于javascript - 表上的更改事件在 IE 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/750095/

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