gpt4 book ai didi

javascript - IE 中的 jQuery ATTR funk

转载 作者:行者123 更新时间:2023-11-29 10:22:29 25 4
gpt4 key购买 nike

我正在使用 $(document).ready() 动态创建 javascript 并将其附加到我页面上链接的 onclick 事件

我的 onclick javascript 用于生成我传递给 Google Analytics 的事件函数,以跟踪我页面上的事件,例如点击横幅和下载 PDF。我正在从除 IE 之外的所有浏览器中获取这些事件的 Google Analytics 统计信息。所以,我在 IE 中的代码有问题(我在我的页面上搜索并搜索了错误,没有)。

通常我只会做 $("a").click 之类的事情...做一些事情...但无论出于何种原因,我可以让 Google Analytics 事件跟踪工作的唯一方法是将跟踪事件直接在我的链接上运行。因此,我使用以下代码在页面加载后将跟踪事件函数注入(inject)到链接的 onclick 中....

// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
var description = "Content ID: " + getParameterNamedID($(this).attr("href")) + " - " + $(this).children().first().attr("alt");
$(this).attr("onclick","alert('1');_gaq.push(['_trackEvent', 'Favorites - Home Page', 'Icon Click','" + _gatCleanString(description) + "']);alert('2');");
}
);

我认为我的问题是 IE 没有将我的代码放在 onclick 上。但我不知道在 IE 中查看生成源的好方法。我在地址栏中尝试了几个 javascript 函数来调出生成的源代码,假设它们有效,那么我的代码不会将跟踪事件函数注入(inject)到我的 IE 链接的 onclick 中。我在 Firefox 的 View 生成源中的 onclick 中看到了跟踪事件函数。

作为另一个测试,您可以看到我在跟踪事件函数周围添加了警报。在 FF 中,两个警报都会触发,在 IE 中,两个警报都不会触发。

还有一条信息。我的 Google Analytics 没有记录任何 IE 浏览器的事件。据我所知,我的问题并非特定于某个版本的 IE。

我如何判断我的动态 javascript 是否进入了 IE 的 onclick,然后我该怎么做才能将它进入 IE 的 onclick?

更新为了简化问题并突出答案的方向,我删除了 Google Analytics 事件功能。现在,我所做的就是将 alert() 注入(inject) onlick。 IE 甚至不会触发 alert()。我尝试了以下...

// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
$(this).attr("onclick","alert('1')");
}
);

// Tracks favorites on the home page.
$("._gatHomePageFavorites").each
(
function(index)
{
$(this).attr("onclick","setTimeout(\"alert('1')\", 1000);return false");
}
);

所以我仍然倾向于我的 javascript 没有被注入(inject)到 IE 中的 onclick 中。

在 IE 中查看生成源的最可靠方法是什么?

如果我可以确认我的代码没有被注入(inject)到链接的 onclick 属性中,那么我至少可以回答为什么 Google Analytics 没有跟踪 IE 的事件。那是因为我注入(inject)的代码在 IE 中不存在。

最佳答案

您不应添加“onclick”属性,而应使用 jQuery .click() 使用它事件。

function(index){
var description = "Content ID: " + getParameterNamedID($(this).attr("href")) + " - " + $(this).children().first().attr("alt");
$(this).click(function() {
alert('1');
_gaq.push(['_trackEvent', 'Favorites - Home Page', 'Icon Click', _gatCleanString(description)]);
alert('2');
});
}

类似上面的内容,抱歉写得这么快,所以可能有错字。

关于javascript - IE 中的 jQuery ATTR funk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745628/

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