0

我正在尝试使遗留系统也可以在 Firefox 上运行。它只适用于IE,所以我在这里问你event.srcElement.sourceIndex如何在FF上工作?我知道 FF 中的 event.srcElement 是 event.target,但在目标中我没有 sourceIndex 属性。我还需要将 window.document.all[ ] 替换为适用于 FF 的内容。实际代码如下:

var index = event.srcElement.sourceIndex;
window.document.getElementById('txtElementId').value = window.document.all[index - 1].id;
4

3 回答 3

1

我知道这是一个老问题,但我最近遇到了一个类似的问题,在那里我找到了一个解决方案,所以我想我会在这里发布它以备不时之需。

var index = Array.from(document.all).indexOf(event.srcElement);
window.document.getElementById('txtElementId').value = document.all[index - 1].id;

document.all 结合 indexOf 的性能可能会很慢,但就我而言,我没有注意到任何严重的性能问题。这是您应该注意的事情。

于 2020-08-25T10:44:22.420 回答
0

不要依赖仅存在于特定浏览器上的功能。这就是为什么使用 jQuery 很好,它的目标是它给你的任何属性。如果它仅存在于 Firefox 中,请尝试找到另一个要使用的属性,该属性存在于所有浏览器中,而不是依赖 FF 实现。

于 2012-12-19T15:22:33.500 回答
0

假设你的元素有 id,你可以使用 jQuery 做这样的事情

$('#id').index('*')

如果他们不这样做,您可以临时添加一个类/ID,并在完成后删除

$(event.srcElement).attr('id','myId');
console.log($('#myId').index('*'));
$('#myId').attr('id','');
于 2012-12-19T15:09:16.563 回答