2012-09-18 81 views
1

我已經創建了轉換的鏈接,但應該使用onmousedown事件調用函數我得到一個未捕獲的未定義的函數。很明顯,我的功能是定義的。我仍然在學習代碼,所以我沒有看到或理解它。任何提示將不勝感激。mousedown不叫我的功能

<html> 
<head> 
<script type="text/javascript"src="js/jquery.js"></script> 
<script type="text/javascript" src="js/jquery-ui.js"></script> 
<script type="javascript"> 
$(document).ready(function(){ 
var url = "phpajaxtut.php"; 
}); 
function swapContent(cv){ 

    $("#myDiv").html("animated gif goes here").show(); 

    .post(url, {contentVar:cv}, function(data){ 

     $("#myDiv").html(data).show(); 

    }); 


} 
</script> 

<a href="#" onClick="return false" onmousedown="swapContent('con1')">Click the text</a> 
<a href="#" onClick="return false" onmousedown="swapContent('con2');">Click the text</a> 
<a href="#" onClick="return false" onmousedown="swapContent('con3');">Click the text</a> 
</head> 
<body > 

<div id ="myDiv">My default content</div> 
</body> 

</html> 
+2

'.post'是一個語法錯誤。你是不是指'$ .post'?另外,你的'url'變量超出了'swapContent'函數的範圍。 –

回答

2

爲什麼不直接使用$.click();代替,因爲你已經在使用jQuery和放棄的超鏈接?如果這是你想要的,你可以輕鬆地設計一些跨度,看起來像a。我的例子只是更新一些文本,但在那裏你可以放置/調用你的函數。

here

// html 
<span>Click Me</span> 
<br /> 
<span>Click Me</span>​ 

// js 
var n = 0; 

$("span").click(function(){ 

    $(this).text($(this).text() + " " + n++); 

});​ 
0

你需要.POST前$?

$.post(url, {contentVar:cv}, function(data){ 
0
$(document).ready(function(){ 
    var url = "phpajaxtut.php"; 
}); 

的VAR URL不是全球性的。它只能用於功能

var url; //global url 

$(document).ready(function(){ 
    url = "phpajaxtut.php"; // set global url 
});