我一直在JS編碼一段時間,但不知何故,我總是得到一個'刮頭'類型的問題。我認爲我需要進行一些挖掘,但同時有人可以幫助解決這個問題?load()API調用函數回調範圍
所以,這裏是問題: 我正在通過該項(通過$(this)得到)到回調函數中。此代碼不起作用 - 當我真的認爲它應該。因爲我已經將$(this)放入一個變量(克隆數據?),然後通過函數將它傳遞給回調函數,那麼它肯定不會丟失數據?但它確實和可怕
// Allow hrefs with the class 'ajax' and a rel attribute set with a selector to load via ajax into that selector.
$(".ajax").unbind("click").click
(
function(e)
{
var locationhint = $(this).attr("rel");
var $location = $(locationhint);
$location.html ("<img src='images/blockloading.gif' />");
$location.load($(this).attr("href").replace("index.php", "ajax.php"), '', function($location){dready($location);});
e.preventDefault();
}
);
現在不起作用。
這一個工程:
$(".ajax").unbind("click").click
(
function(e)
{
$("#myspecificdiv").load($(this).attr("href").replace("index.php", "ajax.php"), '', function(){dready($("#myspecificdiv"));});
e.preventDefault();
}
);
我把它這是一個範圍的問題,而且我也做到了這一點,這應該的工作,因爲它是完全一樣的「靜態」一個以上,本質上是因爲它傳遞了元素的文本ID。 這一個也打破了:。
$(".ajax").unbind("click").click
(
function(e)
{
var locationhint = $(this).attr("rel");
var $location = $(locationhint);
$location.html ("<img src='images/blockloading.gif' />");
var locationid = "#" + $location.attr("id");
$location.load($(this).attr("href").replace("index.php", "ajax.php"), '', function(locationid){dready($(locationid));});
e.preventDefault();
}
);
破碎的,當我console.log locationid,返回目標DIV的內部HTML。 $ location.attr( 「ID」);當沒有其他地方的電話肯定會返回原始的HTML?所以這是我接受的範圍?但是,如何讓內部的HTML被吐出?
任何解決方案?
更新: 12秒後我張貼了這個它發生,我認爲函數($位置){DREADY($位置);}在回調可能會自動地通過AJAX調用響應內部功能?但爲什麼?