preventDefault()并返回false;没有在某些jCarousellite <a> elements</a>上工作

时间:2011-03-23 18:02:49

标签: jquery javascript-events jcarousellite

我正在经历一个奇怪且令人沮丧的情景,我似乎无法追踪它的起源。

在页面上,我有jCarousellite滚动数字<li>个项目。该列表是从查询生成的,然后通过循环输出到页面。在列表项中,所有内容都包含在<a></a>标记中。

旋转木马的工作方式应该如此。现在我只有2个项目返回查询,他们滚动过去没有问题。

奇怪的是,当列表中的第一项循环回来时,忽略preventDefault()return false并点击href中的页面。更奇怪的是,它只发生在第一次点击。当您单击后退按钮并返回到该页面并再次单击它时,它会按预期的方式运行,没有任何反应,当然,它会重新循环。

这台机器里的幽灵在哪里?我在萤火虫中没有任何错误......

这是代码......

<div id="scroller">
    <div class="slideshow">
      <ul>
        <cfloop query="qScrollers">
          <li>
            <cfset ref = "product.cfm?pid=" & #qScrollers.link#>
            <cfoutput><a href="#ref#" class="specials" title="#qScrollers.title#" ></cfoutput>
            <p><cfoutput>#qScrollers.line1#</cfoutput></p>
            <h1><cfoutput>#qScrollers.line2#</cfoutput></h1>
            <p><cfoutput>#qScrollers.line3#</cfoutput></p>
            <h2><cfoutput>#qScrollers.line4#</cfoutput></h2>
            </a> </li>
        </cfloop>
      </ul>
    </div>
  </div>

而且,这是我的$(document).ready()函数

中的代码
    $('.slideshow ul li a').click(function(e){
        e.preventDefault();
    });

//I've tried this too...//
/*$('.slideshow ul li a').click(function(){
return false;
    });*/

$(function() {  
        $(".slideshow").jCarouselLite({  
            vertical: false,  
            visible: 1,  
            auto:2500,  
            speed:400,
            hoverPause:true
        });  
    });

1 个答案:

答案 0 :(得分:1)

@Ofeargall:试试 -

$(function() {  
    $(".slideshow").jCarouselLite({  
        vertical: false,  
        visible: 1,  
        auto:2500,  
        speed:400,
        hoverPause:true
    }); 

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