2012-11-14 205 views
-2

我有這個腳本來追加一組輸入字段。它工作正常,除了我的問題,每次我點擊按鈕追加在頁面中間,頁面跳轉到頁面的頂部。我怎樣才能阻止它跳到頂端?對不起,這裏是追加劇本:停止頁面跳轉到頂部

var count = 0; 
$(function(){ 
$('a#add_field').click(function(){ 
count += 1; 

$('#activation').append(
      '<div id="features_remove" style="float:left; width: 11%; margin-left:115px;">' 
      +'<label>features remove</label>' 
      +'<select id="features_remove' + count + '" name=features_remove' + count + '" class="input-medium" >' 
       +'<option value="" selected="&nbsp;" >&nbsp;</option>' 
       +'<option value="MPP" >MPP</option>' 
       +'<option value="50 Data" >50 Data</option>' 
       +'<option value="Navigation" >Navigation</option>' 
       +'<option value="Insurance" >Insurance</option>' 
       +'<option value="Road Side Assistance" >Road Side Assistance</option>' 
      +'</select>' 
      +'</div>' 
      ); 
     });  
}); 

是的,它是一個按鈕

<a href="#" class="btn btn-mini btn-danger" id="add_field"><span>Add In-Store Activation</span></a> 
+5

請添加「添加輸入字段」的代碼。 – Mansfield

+2

如果你可以在你的文章中包含你的腳本,這將是非常有用的。更可能你錯過了一個'e.preventDefault()'在你的代碼 – Webnet

+0

是認爲這個網站是全通靈的另一個人 – 2012-11-14 20:39:29

回答

1

用來添加一個字段實際上是一個<a href="#">鏈接「按鈕」?

jQuery可能會將您移動到頁面的頂部,因爲您可能會使用哈希來防止鏈接的默認行爲。但是jQuery(或者它的一些插件)可能會使用散列作爲內聯錨。 IE瀏覽器。 href =「#listTop」將在頁面上查找id =「listTop」元素,並將屏幕頂部滾動到該元素的頂部。 href =「#」將有效地滾動到屏幕的頂部。

記得從你的jQuery的單擊事件處理程序返回false或添加參數e到事件處理程序,並調用e.preventDefault();在方法體中。

<a href="" class="addOne">add row</a> 

而且

$('addOne').click(function(e){ 
    e.preventDefault(); 
    // the rest of your logic 
}); 

這是我可以給你提供的資訊最好的拍攝。您可以通過提供一些代碼和更詳細的描述來幫助自己獲得幫助。

+0

非常感謝。這解決了我的問題。 =) –

5

由於沒有代碼被公佈,我只能假設這是因爲你的按鈕看起來是這樣的:

<a href="#" id='myButton'>Button Text</a> 

#告訴頁面跳轉到該錨點。並且由於該錨點沒有定義,因此跳轉到頂端。

試試這個:

<a href="javascript:;" id='myButton'>Button Text</a> 

或者在你的JavaScript代碼:

$("#myButton").click(function(e){ 
    e.preventDefault(); 
}); 
+1

該死的,你打我的餘韻行,但你不應該包括'的javascript :; '在href。 'preventDefault'不會包含URL的錨點。 – OptimusCrime

3

你應該張貼一些代碼,但基於你寫什麼,我假設你的「按鈕」,在其實是與href="#"的鏈接。

爲了讓這個停下來,給它一個id,例如id="mybutton"。接着,下面的jQuery應該做的魔力:

$('#mybutton').on('click',function(e){ 
    if (e.preventDefault) 
     e.preventDefault(); 
    else 
     e.stop(); 
}) 
+0

感謝您的回覆。我發佈了我的按鈕和附加腳本,我在哪裏添加了您建議的腳本? –

+0

哎呀,我明白了。非常感謝。 –