jQuery返回虚假怪异的行为

时间:2009-06-30 02:10:30

标签: jquery

我有一段jQuery代码,当用户点击锚标签时切换给定td的描述段落,请参阅下面的代码。我的问题是,如果我把返回的false语句如图所示,代码在IE中正常工作,但在FF中它根本不会显示描述,这是预期的。当我在切换之后将返回false设置为在FF中工作正常但在IE中它将显示描述然后立即隐藏它。有没有办法让它在两个方面都能正常工作?

提前致谢。

$(".name").click(function(){
    return false;
    $(this).parent()
           .parent()
           .find(".description")
           .animate({ opacity: "toggle", "slow");

});

3 个答案:

答案 0 :(得分:1)

不知道你的标记是什么样子很难说,但我怀疑处理程序可能适用于多个级别的元素。可能是在IE中第二个处理程序重新切换可见性。您可能希望尝试停止事件传播和/或确保选择器仅适用于锚元素。

$("a.name").click(function(e){
    e.stopPropagation();
    $(this).parent()
           .parent()
           .find(".description")
           .animate({ opacity: "toggle", "slow");
    return false;
});

答案 1 :(得分:0)

尝试:

return !($.browser.msie);

抱歉......我搞砸了哪些必须是真的,哪些必须是假的。

答案 2 :(得分:0)

为什么不用其他东西替换HREF属性,而不是尝试从click事件中返回false?

$(".name").attr("href", "javascript:;")
    .click(function()  {
        //..etc...
    });