firefox中的event.srcElement.sourceIndex和document.all []

时间:2012-12-19 14:40:14

标签: javascript jquery

我正在努力使遗留系统也适用于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;

3 个答案:

答案 0 :(得分:0)

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

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

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

$(event.srcElement).attr('id','myId');
console.log($('#myId').index('*'));
$('#myId').attr('id','');

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我知道这是一个古老的问题,但是最近我遇到了一个类似的问题,在这里我找到了一个解决方案,所以我认为我应该把它张贴在这里,以备不时之需。

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

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