0
我正在經歷一個奇怪和令人沮喪的情況,我似乎無法跟蹤它的起源。preventDefault()並返回false;不工作一些jCarousellite <a>元素
在頁面上,我有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
});
});
這似乎是伎倆!但爲什麼?函數外部的'e.preventDefault();不應該取代並消除任何'a.specials'上的點擊? – Ofeargall 2011-03-23 18:46:34