2013-04-09 53 views
0

基本上,我有大量的JQ在每个浏览器上运行良好,包括IE 9/10。我要求销售代表今天测试一下,他们的电脑上安装了IE 9。IE 9不可重现的问题9

当用户单击将HTML填充到表中的按钮时,页面跳转到顶部。我知道这是由事件传播引起的(我的其他SO帖子:jQuery Dynamically Updating Fields Scrolls Page)。所以我在任何地方都可以返回false(或使用event.stopPropagation(),具体取决于)。

但是,当这一个用户加载页面时,此问题再次出现。

是否有设置我应该检查(注意JS的工作原理,页面跳转,所以它不应该是JS被禁用的问题),还是应该把它写成“没人知道你到底在做什么?你的浏览器,但它不能在其他地方复制“?

我只是茫然不知所措,这是我用JQ或UI开发做过的最多(我喜欢坚持事情的后端),所以我不确定任何怪癖寻找或任何东西。

如果有什么我可以做的,使这个问题更连贯,只是让我知道,我会尝试。我知道没什么可走的,但我不知道从哪里开始。

+2

要回答这个问题,我们真的需要看到一些代码或应用程序的链接。有太多的原因可能会导致这个问题。你问过他在控制台遇到JS错误吗?所有的JS库加载是否正确?是否有一些图书馆位于主页以外的地方(即防止用户访问它的防火墙) – Steve 2013-04-09 19:52:26

+0

因此,该按钮具有“href”属性并且实际上是一个链接? – Bergi 2013-04-09 19:53:20

+0

是的,这是一个Twitter的BS锚按钮' DavidScherer 2013-04-09 20:17:35

回答

0

不是。它不是由事件传播引起的,而是由按钮的默认操作引起的。您应该致电.preventDefault(),而不是致电.stopPropagation()

+0

我返回false以便应该调用stoppropagation preventDefault和另一个。 – DavidScherer 2013-04-09 19:53:46

+0

但我知道你的意思 – DavidScherer 2013-04-09 19:55:24

+0

是的,根据[文档](http://api.jquery.com/on/),'return false'触发两者。如果你做得对,必须有其他错误 - 但你需要向我们展示一些代码。 – Bergi 2013-04-09 19:55:34