jquery单击.addClass问题

时间:2011-05-28 14:45:22

标签: javascript jquery events addclass removeclass

嗨,我一整天都遇到麻烦,它几乎可以工作但不完全,我需要相应的p(#p-1等),一旦点击拇指指甲就保持高亮显示。我使用了一个插件用于图像滑块,我已经稍微自定义了鼠标悬停和mouseleave事件工作正常,但点击事件似乎没有将类添加到目标段落。

关于jsfiddle http://jsfiddle.net/RVYnb/7/

的示例

相关的jQuery是在示例中内联编写的。

这让我发疯了,请帮忙!

2 个答案:

答案 0 :(得分:2)

错误位于图像滑块插件中。它还绑定到代码中的click事件。

以下是插件中的相关代码部分:

jQuery("div#thumbSlider" + j + " a").each(function(z) {            
            jQuery(this).bind("click", function(){
                jQuery(this).find("p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
                jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});
                var cnt = -(pictWidth*z);
                (cnt != container.find("ul").css("left").replace(/px/, "")) ? container.find("span.typo").animate({"opacity": 0}, 250) : null ;
                container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){container.find("span.typo").animate({"opacity": settings.typoFullOpacity}, 250)});                    
                return false;
            });
        });

问题是最后的“返回错误”。它会阻止传播到其他点击事件。

将代码更改为以下内容:

Query(this).bind("click", function(e){
                    jQuery(this).find("p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
                    jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});
                    var cnt = -(pictWidth*z);
                    (cnt != container.find("ul").css("left").replace(/px/, "")) ? container.find("span.typo").animate({"opacity": 0}, 250) : null ;
                    container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){container.find("span.typo").animate({"opacity": settings.typoFullOpacity}, 250)});                    
                    e.preventDefault();
                });
            });

它应该有用。

答案 1 :(得分:0)

根据“小提琴”,我认为你的“点击”事件不适合你的缩略图。它永远不会将“点击”类添加到您的

我对此提出了“警告”:

$("#t1").live("click", function() {
    alert('clicking');
    $("#p-1").addClass("clicked").addClass("highlighted");
});

并且警报永远不会弹出。