2011-11-20 83 views
0

my 2 tag formsjQuery,奇怪的焦點行爲

這是問題所在。我的頁面中有多個標籤表單。他們應該是獨立的,但有一個奇怪的行爲。如果我以第一種形式編寫或做任何其他動作,然後在第二種形式的標籤上按下「X」,它不會注意到我正在處理不同的形式。我試圖更好地解釋它:如果我按下X的同時在窗體中工作,

$(this).attr('id') 

返回正確的ID。如果我在另一個窗體上工作時按下X,相同的代碼將返回錯誤的ID。很顯然,它返回了我正在處理的表單的ID。

我認爲這個問題是關係到一些怪異的焦點條件(鍵盤在窗體上,而鼠標指針單擊另一種形式)。我該如何解決這個問題?

編輯:表單的HTML

<form> 

<input id="tagbox_infodisc_discussion_65" class="tag_field" object_type="infodisc_discussion" object_id="65" owner="Infodisc" owner_id="1" cancreatetag="1" canaddtag="1" canremovetag="1" value="['hi mom','efaefea']" $type="text" style="display: none; "><div id="tagbox_infodisc_discussion_65_tagsinput" class="tagsinput"><span class="tag"><span>hi mom&nbsp;&nbsp;</span><a href="#" title="Removing tag">x</a></span><span class="tag"><span>efaefea&nbsp;&nbsp;</span><a href="#" title="Removing tag">x</a></span><div id="tagbox_infodisc_discussion_65_addTag"><input id="tagbox_infodisc_discussion_65_tag" value="" data-default="" style="color: rgb(0, 0, 0); " class="ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"></div><div class="tags_clear"></div></div> 

</form> 
+0

只是爲了澄清......在你從你點擊一個不同形式的工作情況,它總是返回FormA,或者它總是返回另一個表單(在FormA中工作時爲FormB,FormB中工作時爲FormA)? – nachito

+0

請張貼一些代碼! –

+0

@nachito它返回我正在處理的表單。在這個例子中,如果我剛剛寫了標籤「標籤2」,然後我按「嗨媽媽」,它將返回包含「標籤2」的表單的ID。正確的id是包含「你好媽媽」的表單的id,因爲這是我應該考慮刪除標籤的id。 – Chobeat

回答

1

試試這個:

$('input').live('click', function(){ 
    console.log($(this).prop('id')); 
}); 
+0

實際上,它可能是'#id'或'.class' – ThiefMaster

+0

它返回「undefined」。我用$('input')而不是表單,因爲id在輸入中。我要用這個表單的html編輯第一篇文章。 – Chobeat

+0

@Chobeat請嘗試此代碼 – thecodeparadox