0

我遇到了一个非常奇怪的问题,它只发生在谷歌浏览器上。由于项目的规模,我无法真正提供测试用例(相信我我试过)。问题是,在将一些 html(包含脚本)加载到具有 ajax 调用的容器中之后,如下所示:

var fillView = function(data) {
    viewElement.html(data);
}

$.ajax({
    url: gridUrl + 'update/id/' + rowData.id + gridUrlParams,
    success: fillView
});

...在我点击文档之前,所有的 javascriptdata都不会在 google chrome 中执行。这适用于绑定到表单中输入字段的几个不同插件。我无法在任何其他浏览器中观察(或重现)任何此类效果,也没有添加任何可以执行此类操作的代码。

我尝试了几个小时来解决这个问题的核心,删除了受影响的输入字段的前半部分,然后是另一半,然后是其中的一部分……只是为了让剩下的部分发生这种情况。我还尝试为当前站点剥离/注释掉我不需要的大多数其他 javascript(不应该也没有调用)。

似乎有一个相当明显的“修复”不是修复,也只是有时有效。万一你没猜到;):

setTimeout("$('#form').trigger('click')",50);

有趣/奇怪的细节:

如果我添加alert("test");到 javascript,它会在页面加载时立即执行,但影响 UI 的内容直到第一次单击浏览器中的任何位置时才会执行。

$% & §$}$!!!!

更新:

添加以下内容:

    $('.field-block').css('background-color','#000');

对于 ajax 调用的结果,在我在浏览器窗口内单击之前什么也不做。

“我的拉丁文到此结束。” 有没有人听说过这个,看过它或者知道我可以尝试解决这个讨厌的问题。

4

1 回答 1

1

问题是受影响输入周围的详细信息标签。firefox 和其他的 polyfill 运行良好,似乎它们本身还没有准备好用于生产。

于 2012-10-02T07:30:08.927 回答