2011-09-20 36 views
0

我使用的表單上的onblur事件,目前有此作爲加載工作代碼...

$('#username').after('<div class="loading"></div>'); 

只有這樣才能爲用戶名的ID工作,我認爲它更改爲(這)像

$(this).after('<div class="loading"></div>'); 

反過來使div出現在腳本使用的任何字段的輸入字段後,爲什麼不會發生?

更新

剛試過當我分配的類加載到輸入字段,也不起作用以下...。

$('.loading').(this).after('<div class="loading"></div>'); 
+0

誰知道?你沒有提供足夠的代碼。 – Matt

+0

它應該出現在觸發事件的每個字段之後,因爲$(this)將引用觸發'onblur'的元素。 – m90

+0

爲什麼不使用jQuery的event.target而不是'this'?看看http://jsfiddle.net/分享一個例子。 – StuperUser

回答

3

它必須追加,但因爲div是空的它沒有顯示,請參閱螢火蟲它應該在那裏。或用於測試目的,你可以嘗試

$("#username").blur(function(){ 

$(this).after('<div class="loading">test</div>'); 

}); 

看到這個小提琴http://jsfiddle.net/QxMWh/

而這一次http://jsfiddle.net/QxMWh/1/

+0

是的,謝謝:) – carlgcode

+0

歡迎你':'' – Rafay

1

試試這個:

$('.loading', this).after('<div class="loading"></div>'); 
0

所以,如果我理解正確, 你有一個窗體,有幾個字段有一個特定的腳本(驗證或自動完成或類似的東西..)

現在你想要一個加載格後插入字段,當它是模糊的。

HTML:

<form id="myForm"> 
    <input class="toBeProcessed" type="text" id="Name"></input> <!-- this field will be selected thanks to the class 'toBeProcessed' --> 
    <input type="text" id="age"></input> <!-- this field won't be processed --> 
</form> 

的JavaScript(用jQuery):

$('#myForm input.toBeProcessed').blur(function(){ 
    var inputEl = $(this); 
    inputEl.after('<div class="loading"></div>'); 

    doMyOtherScript(inputEl); 
}); 

你應該觸發,你想要做什麼腳本此相同的模糊事件,該腳本後應再次移除加載div ...

相關問題