我有jQuery調用html並加載到div。我正在使用keyup事件。我看到HTML數據附加到div但多次(重複)。我如何避免多次請求並加載HTML一次。如何使用jQuery避免重複的html負載
這裏是代碼
$('input').keyup(function(){
$('div').load('my.html');
return false;
});
return false;
不工作
我有jQuery調用html並加載到div。我正在使用keyup事件。我看到HTML數據附加到div但多次(重複)。我如何避免多次請求並加載HTML一次。如何使用jQuery避免重複的html負載
這裏是代碼
$('input').keyup(function(){
$('div').load('my.html');
return false;
});
return false;
不工作
,窮人的版本:
var loaded=0
$('button').click(function(){
if(loaded==0) {
$('div').load('my.html');
}
loaded = 1
});
編輯:
$('button').click(function(){
if(!$('div').hasClass('loaded')) {
$('div').load('my.html');
$('div').addClass('loaded')
}
});
的HTML但如果我們有不同的div加載不同的HTML點擊不同的按鈕在一個頁面上。 – 2012-02-14 19:44:33
查看我上面的編輯。 – 2012-02-14 19:49:32
使用Firebug,看看你的事件處理程序是getti ng不止一次地被調用。您可能會附加多個匿名事件處理程序。
您必須使用id作爲目標div,否則所有div將一次受到影響。而不是使用$('div')使用特定的ID與ID。 $('div')。load(...)將對頁面上的每個div應用相同的操作,因爲沒有div最初具有「加載」類。
$('input').keyup(function(e){
e.stopPropagation(); // to stop event bubling
e.preventDefault(); // to stop it from being submitted if it's in the form
var my_div=$('#some_div');
if(!my_div.hasClass('loaded'))
{
my_div.load('my.html', function() {
my_div.addClass('loaded');
}
});
請更多代碼。 – Alfabravo 2012-02-14 19:15:46
需要更多的代碼... – elclanrs 2012-02-14 19:15:56
你能提供一些更多的細節:你試圖達到什麼目的? – ComputerSaysNo 2012-02-14 19:16:01