【问题标题】:Animations not working when triggered from A HREF click in jQuery!从 jQuery 中的 HREF 单击触发时动画不起作用!
【发布时间】:2010-11-27 01:25:36
【问题描述】:

我注意到 jQuery 中发生了一件奇怪的事情,想知道是否有人知道为什么?

点击下面的锚标签时

<A ID="catchme" HREF="#">Add Row</A>;,

我的 jQuery 脚本会捕捉到点击并显示一个隐藏的表格行。 问题是重绘操作有相当大的滞后。此外,所有动画都不适用于正在显示的元素。

但是,当我使用

或 来捕捉点击(即样式为假文本链接)时,动画效果很好!!

我还在 HREF 上使用了 e.preventDefault() 来阻止它跟随 HREF 的链接。删除 e.preventDefault() 并不能解决问题。

此问题发生在使用 jQuery 1.3.2 的 IE7 和 FF3.5 上。

有人知道如何解决锚标签点击问题吗?

【问题讨论】:

  • 嘿,安迪,这是我使用的代码... $('a.btn').click( function(e){ addRow(this); e.preventDefault(); });即使在锚上使用 ID 后,此问题仍然存在。最后我不得不决定使用一个看起来像锚的 DIV。我想知道其他人是否有这个问题?

标签: jquery html


【解决方案1】:

经过多次调试,结果证明这是我自己的脚本堆栈深处未显示的 JavaScript。可能有趣的是,FireBug 是深六(即隐藏)错误,但是 Firefox Javascript 控制台实际上确实报告了错误!

依赖 Firebug 作为唯一的事实来源是我的错误……吸取的教训。

感谢那些尽管描述不充分但仍试图回答这个问题的人。

【讨论】:

    【解决方案2】:

    在编写事件处理程序时,是否将e 的参数传递给它?示例:

    $('a').click(function(e){
         e.preventDefault();
    });
    

    不传递参数e,preventDefault() 调用毫无价值。

    【讨论】:

    • 是的,我试过了。监听锚标签上的事件似乎是个问题。
    • 可能不是。 jQuery 上这种大小的问题永远不会通过单元测试,更不用说将其用于生产代码了。您可以编辑您的问题以发布您的完整代码吗?我要查找的内容:您的事件绑定是否在 $(document).ready() 调用中,是否正在动态添加链接等。有用的工具:Firebug 的控制台对象 (getfirebug.com/console.html) 和 Visual活动小书签:(sprymedia.co.uk/article/Visual+Event)。
    猜你喜欢
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 2018-01-14
    • 2012-08-31
    • 2019-03-01
    相关资源
    最近更新 更多